我可以使用php创建临时文件,该文件在文件创建期间设置的预定义时间后过期并被删除,而不是在脚本完成执行时吗?我的主机不允许cron作业,所以只有php,如果可能的话。
答案 0 :(得分:1)
无法访问cron
,您只有一个选项 - 自行管理文件清理。
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);
}
此处还有一个类似的问题。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');
?>