如何在一定时间后执行 php 代码,如 snapchat delete?

How to execute php code after a certain time like snapchat delete?

我想知道像snapchat这样的公司是如何执行删除功能的。如果我要设计一个像 snapchat 这样的功能,文件(图像,视频)将在 24 小时后删除,特定用户上传的视频将在 24 小时后在 php 中执行 sleep .

  <?php
    **upload code goes here**
    sleep(24);
    **delete code goes here**/

   ?>

我知道这不是最好的方法。我四处搜索,发现了一个叫做 cron job 的东西,你可以在预定的时间执行 php 代码。但我想删除用户在 24 小时后上传的特定文件,而不是管理员执行删除的具体时间。有一个更好的方法吗?谢谢

绝对不要使用睡眠,因为它会锁定您的 PHP 进程,阻止它做任何其他事情。它不会缩放。

在这种情况下,您不会为每个要删除的文件创建一个 cron 作业。相反,您保留数据的时间戳,然后 运行 每 15 分钟左右执行一次 cron 作业,并查找早于 24 小时的时间戳。然后删除那些records/files。