嗯,我開始討厭PHP。我有一個文件,它是完全可讀的(is_readable返回true),具有777權限,通常由fopen打開,但file_get_contents返回false。 的代碼如下:file_get_contents在現有的可讀文件上返回false
<?php
error_reporting(-1);
$handle = fopen("tres.txt","w+");
try{
$cnt = file_get_contents("/var/www/tres.txt");
}
catch(Exception $err){ echo $err->getMessage(); }
if ($handle) echo "Allright!", "<br />";
if ($cnt) echo "Good";
if(is_readable("/var/www/tres.txt")) echo " Is";
?>
即使我打開,我知道所有的錯誤報告選項,沒有錯誤逮住,那我抓狂。將文件路徑更改爲「tres.txt」的「./tres.txt」也不起作用。 問題可能出在哪裏?
P.S.它運行在PHP5和apache2上。
你已經用fopen打開它然後你試着用file_get_contents再次打開它...可能會因爲它已經被使用而被阻塞。閱讀它的內容,然後你可以打開它寫作。 – 2011-02-05 20:30:26
'display_errors`是否設爲`on`? – 2011-02-05 20:31:02
不是問題,但`if`應該檢查`strlen($ cnt)`而不是。 – mario 2011-02-05 20:35:00