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


Temporary files that hang around after script execution

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

无法访问cron您只有一个选择 - 自己管理文件清理。

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

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

这可能会给你一些想法: 会话配置

$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);
}

参考 - 虚拟主机谈话

这里还有一个类似的问题,之前问过。x时间后自动删除文件

这是你要找的吗?

<?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