【问题标题】:How to execute php code after a certain time like snapchat delete?如何在一段时间后执行 php 代码,如 snapchat delete?
【发布时间】:2016-04-28 12:53:24
【问题描述】:

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

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

   ?>

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

【问题讨论】:

  • 使用scheduled_deletion 之类的列在数据库中将它们标记为删除,并有一个经常运行并处理标记为删除的文件的cron 作业。足够简单,你可以运行?
  • 要么通过 cron 之类的方式执行服务器端内务管理工作,要么仅将其保留在客户端本地,并在经过一段时间后删除客户端。并尽可能防止屏幕截图。

标签: php snapchat


【解决方案1】:

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

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

【讨论】:

  • 那么,我将我的时间戳保存到我的数据库中,并每 15 分钟执行一次 cron 作业?
  • 是的,完全正确。您可以或多或少地运行它,具体取决于您需要它们消失的时间接近 24 小时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-21
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多