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()。