如何在过期时间后删除通过POST在PHP中创建的文件


How to delete files created through POST in PHP after Expiry Time

如果我要创建一个像4Chan这样的板。我怎样才能使一个帖子在24小时后过期并被永久删除?

下面是我目前保存的文件:

    <?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

感谢所有的帮助!

根据您添加的代码,我怀疑您正在寻找基于文件的方法。

然而,正如在评论中所说的,有一个像MYSQL这样的数据库来存储你的数据也会很好。

另外,在你的标签和问题中,你不要指定重要的信息,比如:on which operating system.

尽管如此,根据您创建文件的代码,以下是与删除X时间后创建的文件相关的资源:

  • 批处理文件,删除超过N天的文件
  • http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/
  • 如何删除超过X小时的文件
  • 在PhP中删除超过2天的文件的正确方法

也与计划任务和cron相关:

  • http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
  • http://windows.microsoft.com/en-sg/windows7/schedule-a-task
  • http://support.microsoft.com/kb/308569