我在過去幾天一直在研究一個本地應用程序,並且我注意到我調用外部程序的一個'exec()'函數沒有正確啓動。經過進一步調查,很明顯該程序確實執行了,但由於使用'file_get_contents()'的重要行沒有檢索到指定文件的內容,所以它會過早退出。Bizarre file_get_contents()行爲與純文本文件和沒有擴展名?
該文件是一個沒有擴展名的純文本文件。我猜,'file_get_contents()'將文件視爲一個目錄,因爲沒有擴展名?這很奇怪,因爲如果我從網絡瀏覽器手動執行相同的程序,一切都很完美。
下面是清晰的例子線 -
while(file_get_contents('plaintextfile') == "something"){
/// Do This
}
上述工作,當我參觀/program.php從Web瀏覽器,但像這樣調用它時它給了我一個文件/文件夾就好未找到'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