-1

我在路径中有一个 index.php 文件:http ://www.example.com/inc/index.php

现在我需要获取到 inc 目录的路径,例如http://www.example.com/inc/

这是我在 index.php 中写的那行

'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['PHP_SELF']) . '/'

它在apache服务器中工作。它在我的客户端系统中不起作用。他不确定他使用的是哪个服务器,但告诉了 apache 以外的其他内容。

非常感谢任何输入。提前致谢

4

3 回答 3

1

这会给,

http://www.example.com/inc/

 <?php

     echo "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']) . '/';

 ?>

实际上,什么不起作用?如果您没有得到 http://www.example.com/inc/加载的索引页面,则 index.php 在服务器中未设置为默认值。如果是 IIS 服务器,我认为默认页面是 index.html、default.html、default.asp - 请检查这个,而不是 index.php

为了进一步阅读,

http://www.htmlgoodies.com/beyond/webmaster/article.php/3473251/Index-or-Default.htm

于 2012-10-06T10:54:33.417 回答
0

dirname 函数正在查看文件系统。如果您尝试解析 URL 以访问目录,我建议您使用以下内容:

$pathComponents = explode('/', $_SERVER['PHP_SELF']);
array_pop($pathComponents);
$dirName = implode('/', $pathComponents) . '/';

这应该返回“inc/”

于 2012-10-06T10:46:05.563 回答
0

你试过 $_SERVER['PATH_TRANSLATED'] 吗?请注意,在 Apache 2 上,这没有明确设置(需要配置设置)。请参阅此处:PHP $_SERVER 手册

在我看来,这可能会对您有所帮助,但我无法访问我的托管空间中的 httpd.conf 文件来确认。

希望这可以帮助!

科布斯

于 2012-10-06T10:53:50.063 回答