获取绝对目录路径?[英] getting absolute directory path?

问题描述

大家好-

我有一个两部分的问题.

首先,我在/home/user/www/下有一个网站.index.php
所有其他网站页面都在/home/user/www/下.对于
在多个文件中使用的函数,我在/
下有 php 文件主页/用户/www/functions/.这些文件只是有

所以,在 index.php 和其他文件中,我有
<?php
包括("./functions/function.create_html_page.inc");
包括("./functions/function.create_pdf.inc");
.....
?>

然后是函数文件,比如function.create_html_page.inc
<?php
函数 create_html_page( $arg1, $arg2 ) {
...
}
?>

所以,我的 php 页面有对函数文件的相对引用,即
"./functions/".

这工作正常,但是当我想在函数中包含一个函数时
文件,我必须更改相对路径.所以,而不是
包括("./functions/function.create_pdf.inc");
我应该有
包括("./function.create_pdf.inc");

理想情况下,我想弄清楚绝对路径名,以便我
不必根据
是否更改相对路径名文件在根目录或函数目录中,或任何其他
目录.

换句话说,我可以做到
<?php
$path = "/home/user/www/";
包括($路径."functions/function.create_html_page.inc");
包括($路径."functions/function.create_pdf.inc");
....
?>

然后包含语句是相同的,无论如何
他们所在的目录.

但是,我希望解决方案更便携.在改变中我改变
主机,或将网站安装在另一台服务器上,我想要路径
名称不会被硬编码,所以我不必更改任何内容.
有点像

<?
$path = get_base_directory();
包括($路径."functions/function.create_html_page.inc");
包括($路径."functions/function.create_pdf.inc");
....
?>

我的网站被设计成子目录中的页面永远不会
送达;用户始终在根目录中导航.所以,即使
如果调用functions子目录中的函数,则原来的
执行脚本在根目录下.

我查看了 basename 之类的函数,但他们希望目录为
一个论点.

我查看了 $_SERVER 和 $_ENV,它们有 ''OLDPWD''
[OLDPWD] =/home/user/www
[密码] =/home/user/www/functions

OLDPWD 看起来可以工作,但我找不到它的文档
任何地方,所以我不知道它是否可以用作便携式
解决方案.如果它没有记录在案,我可能无法依赖它
大多数系统,对吧?

任何人,我现在的想法是通过回溯数组来确定
输出原始脚本,从而输出基本目录.有没有
更简单的方法?

推荐答案

arg1,

arg2 ) {
...
}
?>

所以,我的 php 页面有对函数文件的相对引用,即
"./functions/".

这工作正常,但是当我想在函数中包含一个函数时
文件,我必须更改相对路径.所以,而不是
包括("./functions/function.create_pdf.inc");
我应该有
包括("./function.create_pdf.inc");

理想情况下,我想弄清楚绝对路径名,以便我
不必根据
是否更改相对路径名文件在根目录或函数目录中,或任何其他
目录.

换句话说,我可以做到
<?php

path = "/home/user/www/";
包括(

本文地址:https://www.itbaoku.cn/post/1050803.html