2017-05-07 87 views
1

我有一个上传表格供PHP用户注册图片。
我使用Wamp服务器。
我希望当用户启动上传文件,然后放弃上传表单(出于任何原因),上传的文件10分钟后被删除。如何从废弃的上传表单中删除服务器上的临时文件?

如何从这些废弃的上传表单中删除服务器上的临时文件?

如何为上传的文件创建临时文件夹并在一段时间后清空它?

如何不使用PHP代码,我可以这样做,因为也许在上传文件后用户不会继续,PHP脚本不处理它,所以文件不会被删除,但它应该被删除。

如何不使用PHP代码可以做到这一点?

如何在没有用户请求和服务器的情况下运行PHP代码以删除旧的上载文件?

+0

在启动时运行清理 – RiggsFolly

+0

我该怎么做? – harix

+0

澄清:这是上传的文件,但上传不完整?或者已经完全上传的文件,然后用户没有对他们[在PHP代码中] – Martin

回答

1

您可以设置http://php.net/manual/en/ini.core.php#ini.upload-tmp-dir您temp_folder在ini文件或使用INI功能

你可以得到他的临时文件夹loaction与http://php.net/manual/en/function.sys-get-temp-dir.php


临时文件(EI:$_FILES['userfile']['tmp_name'])右后都将被删除该脚本根据此php:: how long to tmp files stay?和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 minutes\n"; 

     // For example deleting files: 
     //unlink($Filename); 
    } 
} 

代码的文件夹的权限片断信用=>http://www.jonasjohn.de/snippets/php/delete-temporary-files.htm

+0

我怎样才能做到这一点,而无需由用户进行处理? – harix

+0

你可以设置一个cron作业http://stackoverflow.com/questions/10097609/how-to-run-php-file-using-cron-jobs。根据你的主机和/或管理面板(cPanel,directadmin等),你将有不同的选择。许多托管compagny会为您提供指导。很好地构建和测试你的脚本,因为它将主要在没有任何人工监督的情况下运行。 –

+0

1.使脚本清理临时文件=> 2.从命令行测试它=> 3.设置您的cron作业以按需要的间隔运行脚本。 –

相关问题