1



現在、WAMP サーバーがインストールされた Windows 7 を使用しています。私は単純なPHPの「ファイルが存在する」コマンドを実行しようとしていますが、何らかの理由で、その動作は大きく異なります....これが私のコードです:

if(file_exists('\prop\sys\config.txt')) {
echo 'exist';
} else {
echo 'dont exist';
}

簡単に聞こえるかもしれませんが、ファイルが実際に存在していても、PHP は dont exist で戻ってきます。これは最初は私を困惑させましたが、実際のコンピューター上のファイルを PHP にチェックさせようとすると、次のようになります。

if(file_exists('C:\Users\PeopleUser\Desktop\f.txt')) {
echo 'exist';
} else {
echo 'dont exist';
}

驚いたことに、それは真実でした!つまり、WAMPは本来あるべきフォルダーの外側をチェックしています。「セーフモード」を有効にしてWAMPを再起動しましたが、それでも機能しません。また、「PHPの公開」を無効にして停止しようとしました。それは機能せず、PHP は自由に私のコンピューターをチェックします。

どうすればこれを止めることができますか?

4

1 に答える 1

0

PHP は、ホストのファイルシステムにアクセスできるサーバー側のプロセスです。指定するパスはすべてファイルシステム パスです。

PHP ファイルからの相対パスを作成することをお勧めします。たとえば、コードを含むファイルがドキュメント ルート (フォルダーを含む同じフォルダーprop)にあるとします。

$path = realpath(__DIR__ . '/prop/sys/config.txt');

if (file_exists($path)) {
    // and so on
于 2012-12-05T05:07:48.900 に答える