0

$_SERVER['DOCUMENT_ROOT'] 変数を使用してファイルをインクルードしようとしています。これまでのところ、含めようとしたすべてのファイルで、ファイルが見つからないというエラーがスローされました。ディレクトリを間違えただけだと思ったので、現在実行中のスクリプトを含めようとしました。スタックを使い果たして失敗するまで、再帰的にそれ自体を含めることを期待しています。

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 年前の Jamie のコメントを参照)。同等のパスはありませんか?DOCUMENT_ROOT は私にはまったく役に立たないようです。

ありがとう、G

4

1 に答える 1

2

エラー メッセージから、ファイル パスが次のようになっていることがわかります。

/home/www/glmorriL/CSRC/Damflask/Main/Articles/index.php

だから明らか/var/httpd/htdocs/...に見つからない。

__FILE__代わりにマジック定数を使用してみてください。

于 2013-04-06T16:13:10.033 に答える