我不懂PHP,现在想实现一个功能,删除指定目录中三天以前的文件(日志),就在百度上找的一个删除目录的函数,如下 function del_directory($dir){
if(!($mydir = @dir($dir))){
return;
}
while($file = $mydir->read()){
if(is_dir("$dir$file") && $file!='.' && $file!='..'){
@chmod("$dir$file", 0777);
del_dir("$dir$file");
}elseif(is_file("$dir/$file")){
$file_time=@stat($file);//读取文件的最后更新时间
if(time() - $file_time > 3600 * 24 * 3){
@chmod("$dir/$file", 0777);
@unlink("$dir/$file");
}
}
}
$mydir->close();
@chmod($dir, 0777);
@rmdir($dir);
}
报错:Fatal error: Unsupported operand types in D:\wamp\www\Player\playlogviewer.php on line 36
对应的是这一行代码:if(time() - $file_time > 3600 * 24 * 3)麻烦看看是什么问题,谢谢!

解决方案 »

  1.   

    $stat = @stat($file);
    $file_time=$stat['mtime'];//读取文件的最后更新时间
      

  2.   

    if(time() - $file_time > 3600 * 24 * 3)
    你把它用()分开试试
    if((time()-$file_time)>(3600*24*3)){}
      

  3.   

    array stat ( string $filename );
    返回的是数组。
     $file_time=@stat($file);//读取文件的最后更新时间
     if(time() - $file_time > 3600 * 24 * 3){         //这里就要用数组的。去查一下stat ()用 $stat['mtime']