我是否可以使用 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