按时间删除文件的方法
使用PHP上传文件时,有时并不想在服务器中长期存放上传的文件,这时可以根据时间来删除存放时间比较长的那些文件,以释放服务器存储空间。要查看一个文件夹中所有的文件创建修改时间,需要先使用opendir()打开对应文件夹以获取句柄,然后使用readdir()读取其中的所有文件。示例代码:
if($fd=opendir($folder)){
因为使用readdir()读取到的目录中包含“.”和“..”这两个表示本目录和上级目录的标识符,需要略过,然后使用filemtime()获取相应文件的最后修改时间戳,因为是从上级目录中进行操作,需要加上路径名。使用获取的文件修改时间加时间间隔与目前的时间戳对比,如果比这个时间间隔更长就使用unlink()删除相应文件。代码中的时间间隔设为1个小时,可以根据需要使用更长或更短的时间间隔。操作完成后需要使用closedir()关闭文件夹句柄。
while (false !== ( $item = readdir( $fd ) )){
if ( $item != "." && $item != ".." ) {
$timemk=filemtime($folder.'/'.$item);
$timenow=time();
if($timenow>=($timemk+3600)) {
unlink($folder.'/'.$item);
}
}
}
}
closedir($fd);