好吧,我开始讨厌PHP了。我有一个文件,它是完全可读的(is_readable返回true),具有777权限,通常由fopen打开,但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上。
答案 0 :(得分:6)
fopen("tres.txt","w+");
截断文件。在那之后阅读它是没有意义的。
$cnt
很可能不是假的,而是在布尔上下文中被视为''
的空字符串false
。
if ($cnt !== false) echo "Good";
可能输出“Good”。
答案 1 :(得分:4)
使用fopen
时,您不必使用file_get_contents
。删除fopen
。