php删除临时文件的函数
如果允许用户将数据上传到您的站点,则可能会出现数据目录中可能充满临时文件的情况。从长远来看,您将希望摆脱这些文件,因为它们已达到其目的并且不再需要。
这是一项可用于删除目录中创建时间超过20分钟的文件的功能。它使用该glob()函数查找特定类型的所有文件,然后使用该filectime()函数确定上次修改(或创建)文件的时间。然后,它将删除(取消链接)超过20分钟之前创建的所有文件。
function deleteTemporaryFiles()
{
// 定义要清理的文件夹(保留斜杠)
$dataFolder = 'data/';
// 要检查的文件类型-使用Glob语法
$fileTypes = '*.{txt,xml}';
// 您可以在此处定义应在多少分钟后删除文件
$expire_time = 20;
// 查找给定文件类型的所有文件
foreach ( glob($dataFolder.$fileTypes,GLOB_BRACE) as $Filename ) {
// 读取文件创建时间
$FileCreationTime = filectime($Filename);
// 计算文件寿命(以秒为单位)
$FileAge = time() - $FileCreationTime;
// 文件是否早于给定的时间跨度?
if ( $FileAge > ($expire_time * 60) ) {
// 删除文件
unlink($Filename);
}
}
}要使用它,只需像这样调用它。
deleteTemporaryFiles();
请注意,filectime()在某些Win32系统上,该函数可能会通过返回文件创建时间来给出不正确的值。这就是我们想要的,但是如果您发现此功能有问题,请替换filectime()为filemtime()。