0
我試圖使用$ _SERVER ['DOCUMENT_ROOT']變量包含文件。到目前爲止,我試圖包含的每個文件都拋出了文件未找到的錯誤。我認爲我只是弄錯了目錄,所以我試圖包含當前正在運行的腳本。我希望它遞歸地包含它自己,直到它耗盡堆棧並翻倒。包含_SERVER ['DOCUMENT_ROOT']。 _SERVER ['SCRIPT_NAME']找不到當前正在運行的腳本
echo('document root = ' . $_SERVER['DOCUMENT_ROOT'] . '<br>');
echo('script name = ' . $_SERVER['SCRIPT_NAME'] . '<br>');
$szServerPath = $_SERVER['DOCUMENT_ROOT'];
$szIncludePath = $szServerPath . $_SERVER['SCRIPT_NAME'];
echo("including = " . $szIncludePath);
include($szIncludePath);
這將導致以下的輸出:
document root = /var/httpd/htdocs
script name = /CSRC/Damflask/Main/Articles/index.php
including = /var/httpd/htdocs/CSRC/Damflask/Main/Articles/index.php
Warning: include_once(/var/httpd/htdocs/CSRC/Damflask/Main/Articles/index.php) [function.include]: failed to open stream: No such file or directory in /home/www/glmorriL/CSRC/Damflask/Main/Articles/index.php on line 33
它看起來仍然無法找到該文件。我包含的每個其他文件都顯示了相同的錯誤消息。爲什麼不能這樣工作?
編輯:這似乎是由於一個「別名」。 http://php.net/manual/en/reserved.variables.server.php(見2年前傑米的評論)。 有沒有相當的路徑?它看起來像DOCUMENT_ROOT對我來說完全沒用。
感謝, 摹
對不起,你能更具體些嗎?我沒有使用'__FILE__'。 '__FILE__'會給我「/ home/www/glmorriL」? – 2013-04-06 16:17:50
在該文檔中打印'__FILE__'會給我: /home/www/glmorriL/CSRC/Damflask/Main/Articles/index.php 使用DOCUMENT_ROOT的要點是它給了我根。我目前正在包含具有相對路徑的文檔。我想使用根路徑。不幸的是,這不會幫助我,因爲它給了我當前文件的完整路徑。 – 2013-04-06 16:23:08
'__DIR__'呢? – 2013-04-06 16:23:54