删除超过1小时的所有图像

时间:2014-01-18 13:48:20

标签: php

我想删除名为 tempimages 的文件夹中超过1小时的所有图片。 我在Stack Overflow上找到了下面的例子,但是我得到一个解析错误:

  

语法错误,第13行/delete-old-images.php中的意外“{”

<?php  
function destroy($dir) {
$mydir = opendir($dir);
while($file = readdir($mydir)) {
    if($file != "." && $file != "..") {
        chmod($dir.$file, 0777);
        if(is_dir($dir.$file)) {
            chdir('.');
            while($dir.$file) {
                if(date("U",filectime($file) >= time() - 3600)
                {
                    unlink($dir.$file)
                }
            }

        }
        else
            unlink($dir.$file) or DIE("couldn't delete $dir$file<br />");
    }
}
closedir($mydir);
}

destroy("tempimages/");
?>

我的服务器数据:

PHP Version 5.3.18-nmm1
System  Linux #116-Ubuntu SMP Tue Nov 12 19:37:57 UTC 2013 x86_64 
Build Date  Oct 26 2012 16:30:11 
Server API  Apache 2.0 Handler

如何解决?

2 个答案:

答案 0 :(得分:2)

您忘了关闭date()

 if(date("U",filectime($file)) >= time() - 3600)
                      -------^

并错过了这里的半结肠

unlink($dir.$file);
             -----^

答案 1 :(得分:0)

您没有关闭if条件的括号。

if(date("U",filectime($file) >= time() - 3600)

应该是

if(date("U",filectime($file) >= time() - 3600))

并错过了半圆

unlink($dir.$file)

应该是

unlink($dir.$file);