Files
Pichome/core/cron/cron_cache_cleanup_week.php
2022-05-02 22:31:35 +08:00

51 lines
1.5 KiB
PHP

<?php
/*
* 计划任务脚本 定期清理 缓存数据
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
* @license https://www.oaooa.com/licenses/
*
* @link https://www.oaooa.com
* @author zyx(zyx@oaooa.com)
*/
if(!defined('IN_OAOOA')) {
exit('Access Denied');
}
//清空临时缓存区
removedir($_G['setting']['attachdir'].'temp/',true);
//清空临时缓存区
$time=60*60*1; //7天 七天没有修改的将被删除;
removedir($_G['setting']['attachdir'].'cache/',true,$time);
//清理上传未成功的文件
$like='%dzz_upload_%';
$like1='%FTP_upload_%';
foreach(DB::fetch_all("select * from %t where (cachekey like %s or cachekey like %s) and dateline<%d",array('cache',$like,$like1,TIMESTAMP-24*60*60)) as $value){
@unlink($_G['setting']['attachdir'].$value['cachevalue']);
C::t('cache')->delete($value['cachekey']);
}
function removedir($dirname, $keepdir = FALSE ,$time=0) {
$dirname = str_replace(array( "\n", "\r", '..'), array('', '', ''), $dirname);
if(!is_dir($dirname)) {
return FALSE;
}
$handle = opendir($dirname);
while(($file = readdir($handle)) !== FALSE) {
if($file != '.' && $file != '..') {
$dir = $dirname . DIRECTORY_SEPARATOR . $file;
$mtime=filemtime($dir);
is_dir($dir) ? removedir($dir) : (((TIMESTAMP-$mtime)>$time)? unlink($dir):'');
}
}
closedir($handle);
return !$keepdir ? (@rmdir($dirname) ? TRUE : FALSE) : TRUE;
}
?>