IIS に仮想フォルダーがあります。サーバー ドキュメント ルートを実行するとfile_exists
、ファイルが見つかりません。しかし興味深いことに、インクルード (またはその件についてはディレクティブを必要とする) を使用すると、同じファイルが見つかります。
例
$full_path = $_server['DOCUMENT_ROOT'] . "/file.txt";
include($full_path); // works fine.
if file_exists($full_path) : // returns false!
繰り返しますが、これは仮想フォルダーが関係している場合のみです。
仮想フォルダーの有無に影響されない別のサーバー変数を使用する必要があると思います。
最終的には、次のように動作するようにしたいと思います
/wwwroot/file.txt
これで見つかるはずです
file_exists($_server['?'] . "/file.txt")