我有一个网络摄像头,可以将图片上传到网络文件夹,我有一个脚本可以删除超过1天的所有文件,我想更改此脚本只保留25张图片,而不是删除旧图片。
<?
$days = 0;
$dir ='gallery-images/';
$nofiles = 0;
if ($handle = opendir($dir)) {
while (( $file = readdir($handle)) !== false ) {
if ( $file == '.' || $file == '..' || is_dir($dir.'/'.$file) ) {
continue;
}
if ((time() - filemtime($dir.'/'.$file)) > ($days * 86400)) { //86400
$nofiles++;
unlink($dir.'/'.$file);
echo "Deletado -- $dir$file \r\n";
echo "<br/>";
}
}
closedir($handle);
echo "Total files deleted: $nofiles \r\n";
}
?>
答案 0 :(得分:0)
您需要创建一个包含所有文件的数组,其中键是文件名,值是修改日期。使用uasort
可以按日期排序。最后一步很简单,从阵列中删除25个最新文件并删除所有剩余文件。