/ /なぜfile_get_contents()はプロトコルなしでファイルシステムを開くことができないのですか? - php

なぜfile_get_contents()はプロトコルなしでファイルシステムを開くことができないのですか? - php

私はスクリプトをrootに持っていて、それをで開こうとしています file_get_contents().

これは動作します:

file_get_contents("http://localhost/folder1/folder2/script.php?param=sth");

しかし、これはうまくいきません。

file_get_contents("../folder1/folder2/script.php?param=sth");

何が問題なのですか?どうすればプロトコルを書かずにファイルシステムのスクリプトにアクセスできますか?


注意: 使用 __DIR__ その非プロトコルパスの始めには役に立ちません。 __DIR__ これは有効ではないこのようなものと同じです。

C:xampphtdocsfolder ...

回答:

回答№1の場合は3

プロトコルがない場合は、引数をローカルパス名として扱います。 ? Windowsのパス名には特別な意味はありませんので、 ""という名前のファイルを探します。 script.php?param=sthが見つかりません。

また、ローカルファイルにアクセスするときは、単純に内容を読みます。スクリプトが実行されない場合は、スクリプトのソースコードを入手するだけです。スクリプトを実行する場合は、Webサーバーを経由する必要があります。