脚本执行后挂起的临时文件

时间:2014-04-04 16:59:58

标签: php temporary-files

我可以使用php创建临时文件,该文件在文件创建期间设置的预定义时间后过期并被删除,而不是在脚本完成执行时吗?我的主机不允许cron作业,所以只有php,如果可能的话。

3 个答案:

答案 0 :(得分:1)

无法访问cron,您只有一个选项 - 自行管理文件清理。

事实上,这是PHP SESSION处理程序所做的事情 - 它创建了一个会话数据文件。然后,当PHP启动时,它很可能会通过删除过期的文件。 (IIRC,它将有1/100的机会。)

最好的办法是创建一个目录来存储临时文件,然后使用类似的过程。

这可能会给你一些想法:Session Configuration

答案 1 :(得分:1)

$deletetime = time() - $days * 86400; # only do this calculation
$dir = '/path/to/dir';
if ($handle = opendir($dir)) {
  while (false !== ($file = readdir($handle))) {
   if ((filetype("$dir/$file") == 'file') && (filemtime($file) < $deletetime)) {
    unlink("$dir/$file");
   }
  }
 closedir($handle);
}

reference - webhostingtalk

此处还有一个类似的问题。Auto delete files after x-time

答案 2 :(得分:0)

这是你在找什么?

<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '<h1>Hello world!</h1>');
fclose($fh);

unlink('test.html');
?>

http://www.php.net/manual/en/function.unlink.php