在Php中创建临时文件-可能的


Creating Temporary Filepage in Php - Possible?

我想知道是否有可能使用php创建一个具有特定名称的文件,该文件将持续30秒,然后删除其自身。我看了看tmpfile和tmpnme函数,但我一定不知道如何正确使用它们。

我想点击网页a上的一个按钮,然后在网页B上显示30秒的信息。一旦30秒结束,信息将改变或完全清除。

可能吗?

PHP可以很容易地为您创建一个临时文件,但是在30秒后真正删除它将取决于您。PHP不是一个调度程序,尽管它可以通过cronat为您调度事情。

最好的办法是在PHP脚本中嵌入一些额外的代码,因为它是用来指定一个过期时间的,生成的脚本可以在它第一次启动时检查:

<?php
$expires = ...insert some timestamp value here...;
if ($expires < time()) {
    unlink(__FILE__);
    header("Location: somewhere else");
    exit();
}
... do whatever you need to here ...

这将处理脚本自身终止。但是,如果脚本在30秒窗口之外从未被访问过,它就不会自行清理,所以您仍然需要一个外部作业来执行一些定期的清理工作。

您可以创建一个像XML这样的文件。添加一个新节点并为其添加时间戳。然后,您的网站可以加载文件,并根据时间戳显示未过期的节点。你不必删除文件,只是不要显示旧的数据。您还可以在加载节点时,删除旧的节点,以防止文件变大。