我想知道像Snapchat这样的公司如何执行他们的删除功能。如果我要设计像Snapchat这样的功能,文件(图像,视频)将在24小时后删除,特定用户上传的视频将在24小时后在php中执行sleep
。
<?php
**upload code goes here**
sleep(24);
**delete code goes here**/
?>
我知道这不是最好的方法。我四处搜索,找到了一个叫做cron job的东西,你可以在预定的时间内执行php代码。但我想删除24小时后用户上传的特定文件,而不是管理员执行删除时的特定时间。有一个更好的方法吗?感谢
答案 0 :(得分:2)
绝对不要使用sleep,因为它会锁定你的PHP进程,阻止它做任何其他事情。它不会扩展。
在这种情况下,您不会为要删除的每个文件创建一个cron作业。而是保留数据的时间戳,然后每15分钟左右运行一个cron作业,并查找超过24小时的时间戳。然后删除那些记录/文件。