私はここ数日間ローカルアプリケーションを開発していました。私は、外部プログラムを呼び出すための私の 'exec()'関数の1つが正しく起動しなかったことに気付きました。さらに調査したところ、プログラムが実行されたことは明らかでしたが、 'file_get_contents()'を使用して重要な行が指定されたファイルの内容を取得しなかったため、早期に終了しました。プレーンテキストファイルと拡張子なしの奇妙なfile_get_contents()ビヘイビア?
ファイルは拡張子のないプレーンテキストファイルです。私は 'file_get_contents()'は拡張子がないので、ディレクトリとしてファイルを扱っていると思いますか? Webブラウザから同じプログラムを手動で実行すると、すべてが完全に機能するので、奇妙です。
ここでは分かりやすくするための例のラインだ - 私は、Webブラウザから/program.phpを訪問したときに
while(file_get_contents('plaintextfile') == "something"){
/// Do This
}
上記はうまく動作しますが、このようにそれを呼び出すとき、それは私のファイル/フォルダが見つかりませんを与えます'plaintextfile'のエラーです。
exec('php /program.php', $output);
foreach($output as $output){
print $output . "<br>";
}
この状況についていくつかの光を当てることができる人には、事前に感謝します。私は実際にこれに困惑しています...
あなたのFSルートにはprogram.phpがありますか? ./program.phpを試してください(スラッシュの前に。に気付く) – erenon
ファイルはそのスクリプトに相対してどこにありますか? –
ああ、私はこの記事を単純化しました。私のプログラムには、/ Library/WebServer/Documents/data/bla/bla/etcの完全なパスがあります。 – user974634