2

所以我真的很难过,因为我有基本的想法,但我正在寻找你的一些专业知识。

我正在尝试做的事情:我想基本上使用 Twilio 编写一个您不需要知道的应用程序,因为这是另一个问题。该应用程序所做的是调用我的网络主机中的 php 文件并“触发 php 代码”

我在这里需要帮助的是如何在 php 中为我的计算机记录一周的日历。我的意思是,如果像管理员这样的人有我为他们编写的特定代码,并且该代码整周自动运行,但在特定的一周他们不希望该代码运行,而是他们希望运行不同的代码那一周。如何使用 php 查找一周何时结束或使用计算机屏幕右下方的日历跟踪一周,以便我的程序在管理员想要运行与通常代码不同的代码之后知道一周是不再需要运行该管理不规则代码,回到您通常的自动运行代码。

如果你仍然不知道我在说什么。我将尝试解释更多。考虑 2 个单独的代码。一个自定义,另一个自动化。自动化始终自动运行。但是有一天管理员选择了那一周他不想像往常一样遵循运行自动化代码的常规计划,而是在那一周他想运行自定义代码,并且在一周结束后返回运行自动化代码照常。

我希望这更清楚。我知道在 PHP 中给出了日期。但我真的需要关于如何做到这一点的专家意见。

4

3 回答 3

0

除非您的客户端计算机在与服务器完全不同的日历上运行,否则为什么还要费心想知道客户端的日期是什么?除非客户端和服务器位于不同的时区,否则客户端日期将与服务器日期相同,除了午夜前后的几个小时。

同样,为什么要依赖客户端来触发服务器端代码呢?如果这是经常发生的事情,请使用 cron 或服务器上可用的任何东西来自动运行代码。如果管理员想要覆盖运行哪些代码,那么您可以提供一个界面来更改执行的内容。单击站点上的按钮,并在某处设置一个标志,告诉定时作业运行脚本 B 而不是脚本 A。

于 2011-06-14T14:47:23.600 回答
0

通常对于这样的事情,我会为每个脚本/用户组合生成一个“nextrun_datetime”。默认情况下,它将有一个重复间隔,在您的情况下为 7 天。

如果用户不想在本周运行它,他们可以将其“推出”N 天,之后将应用正常的更新间隔。为了获得一次性拍摄,我允许更新间隔为 0 或 -1 来表示这一点。

有了这种东西,每当更新(或保存、运行、重新安排)脚本时,您可以计算下一个日期(如果有的话)。从那里开始,这是一个相对简单的 cron 作业,应该检查最后 N 分钟是否有任何要运行的脚本。

于 2011-06-19T14:08:46.847 回答
0

我做过类似的事情。根据这一天(例如星期一、星期日),我会在 php 中做一些不同的事情。

我就是这样做的:

$today = date('w');
if ($today== 0){
    //its sunday
    exec('rmdir C:\myApp\oldLogs');
}
else{
    echo '1 -> monday, 2-> tuesday etc...'
}

例如,您还可以从字符串中创建日期

$date = strtotime("8 days ago 14:00");
/*
  or "Monday next week", "+1 week 2 days 4 hours 2 seconds","yesterday noon","10 September 2000" etc...
*/      
于 2011-08-10T19:32:00.490 回答