主要是用到了scandir函数,利用此函数获取某个路径下的所有文件以及目录。递归调用.
再结合crontab定期清理。图片的话是根据数据库的url清除的。清理完图片清理目录、
<?php
// 定义清理的目录
$directory = ROOT_PATH . '/images/clock/';
// 清理目录
deleteDirectory($directory);
/**
* 递归删除空目录
* @param $d
* @return void
*/
function deleteDirectory($d){
$files = scandir($d);
foreach ($files as $file) {
// 忽略当前目录和上级目录
if($file === '.' || $file === '..') {
continue;
}
// 当前路径
$newFile = $d . '/' . $file;
// 如果是目录,递归调用
if(isChild($newFile) === 1) {
deleteDirectory($newFile);
}
// 如果没有任何东西删除
if(isChild($newFile) === 3) {
rmdir($newFile);
}
}
}
/**
* 判断目录下是否有子目录或文件
* @param $d string (路径)
* @return int
标签:函数,删除,清理,crontab,空目录,php,目录,图片
From: https://blog.csdn.net/qq_36405210/article/details/140325220