PHP如何按时间删除文件?
首先使用函数“opendir()”读取文件夹中的所有文件;然后使用函数“is_dir()”过滤掉文件夹;接着使用函数“filemtime()”获取文件创建时间;最后根据创建时间进行删除即可。
代码示例<?php
/*
* 删除文件夹下$n分钟前创建的文件
* @param $dir 要处理的目录,物理路径,结尾不加
* @param $n 过期时间,单位为分钟
* @return void
*/
function del_file_by_ctime($dir,$n){
if(is_dir($dir)){
if($dh=opendir($dir)){
while (false !== ($file = readdir($dh))){
if($file!="." && $file!=".."){
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)){
$filedate=filemtime($fullpath);
$minutes=round((time()-$filedate)/60);
if($minutes>$n) unlink($fullpath); //删除文件
}
}
}
}
closedir($dh);
}
}
//下面是调用的代码
//删除1天前的文件
$dir = realpath('./Upload/export');
del_file_by_ctime($dir, 24*60);
?>
推荐教程:《PHP》