我有一个上传表格,用于通过PHP注册用户图片。
我使用Wamp服务器。
我希望当用户开始上传文件然后放弃上传表单(出于任何原因(时,上传的文件会在 10 分钟后被删除。
如何从这些废弃的上传表单中删除服务器上的临时文件?
或
如何为上传的文件创建临时文件夹并在一段时间后将其清空?
如何在不使用PHP代码的情况下做到这一点,因为也许在上传文件后,用户不会继续并且PHP脚本不会处理它,因此该文件不会被删除,但应该删除。
如何在不使用PHP代码的情况下做到这一点?
或
如何在没有用户请求的情况下运行PHP代码,并通过服务器删除旧的上传文件?
您可以使用 ini 文件中的 http://php.net/manual/en/ini.core.php#ini.upload-tmp-dir 或使用 ini 函数来设置temp_folder
你可以得到他的临时文件夹位置与 http://php.net/manual/en/function.sys-get-temp-dir.php
临时文件(ei:$_FILES['userfile']['tmp_name']
(在脚本完成后立即删除 php::tmp 文件保留多长时间? 和 PHP 文档。
如果您谈论的是您移动到其他地方的文件,并且您的服务器有权在文件夹中写入/删除,您可以执行以下操作
foreach (glob("your_temp_folder/*") as $Filename) {
// Read file creation time
$FileCreationTime = filectime($Filename);
// Calculate file age in seconds
$FileAge = time() - $FileCreationTime;
// Is the file older than the given time span?
if ($FileAge > ($expire_time * 60)){
// Now do something with the olders files...
print "The file $Filename is older than $expire_time minutesn";
// For example deleting files:
//unlink($Filename);
}
}
代码段信用到 => http://www.jonasjohn.de/snippets/php/delete-temporary-files.htm