0

我正在使用文档根目录来提供不起作用的绝对路径。如果我echo $_SERVER['DOCUMENT_ROOT']; 这条路原来是C:/wamp/www/

它显示错误

Warning: include_once(C:/wamp/www//library/includes/header.php) [function.include-once]: failed to open stream: No such file or directory in C:\wamp\www\Library Lending management\library\library\book_search_comit.php on line 16

当我完全喜欢它时C:\wamp\www\Library Lending management\library\includes\header.php,它工作正常。

我发现"/"当我使用"\"它工作正常时会产生问题。我的问题是我有很多文件使用$_SERVER['DOCUMENT_ROOT']显示目录路径"/"但我需要"\"。我怎样才能使脚本可行。

4

3 回答 3

2

$_SERVER['DOCUMENT_ROOT']在您的服务器配置中定义,因此您可以在那里更改它。

我认为更可靠的方法是使用dirname(_ FILE _)定义应用程序的根。这将使您的应用程序更加独立于配置,并且更加“即插即用”,这似乎适合图书馆收藏。

我还鼓励您使用常量 DIRECTORY_SEPARATOR 而不是硬编码"\""/"内部路径,因为这更便于跨平台移植。

于 2013-02-20T07:21:12.363 回答
0

使用 str_replace() 更改路径分隔符:

$docroot = str_replace('/', DIRECTORY_SEPARATOR, $_SERVER['DOCUMENT_ROOT']);
include_once($docroot.'header.php'); // etc.

您可能需要另一个 DIRECTORY_SEPARATOR,这取决于 $docroot 最终是什么。

于 2013-02-20T07:25:49.750 回答
0

我用dirname(dirname(__FILE__))它为我工作。dirname(__FILE__)给出文件的当前位置并dirname(dirname(__FILE__))退一步目录。

于 2013-02-20T08:26:41.297 回答