2012-11-28 39 views
0

的文件有777次访问时,文件中包含一些文本。 我得到了一个警告说:警告:fread():长度参数必须大于0在 ...PHP的fread不返回字符串

$ contents变量结束了不包含任何内容?有任何想法吗? 该目录必须正确,因为如果我删除该文件,我的is_readable返回false。

+0

什么'的var_dump(文件大小($文件名));'说明了什么? –

+0

int(0)......... – Jimmyt1988

+0

该文件的内容是:“email to:************************ * at:28/11/2012 03:05:48 pm“ – Jimmyt1988

回答

3

你是truncating当你最初用这一行打开它的文件。

$handle = fopen($filename, "w+"); 

所以规模将是零,在这一点上触发该警告。

你或许应该做这样的事情:

function log_email($message){ 
    $dir = dirname(__FILE__); 
    $filename = $dir . "/logs/email_log.txt";  
     echo $filename; 

    if(is_readable($filename)){   
     // This will append to the file without destroying its contents 
     $handle = fopen($filename, "a+"); 
     fwrite($handle, $message . "\n"); 
     fclose($handle); 
    }else{ 
     echo 'The file is not readable.'; 
    } 
} 
+0

不错。谢谢。 a +完成了这项工作。 – Jimmyt1988