【问题标题】:How to use a crontab to edit variables within a PHP file?如何使用 crontab 编辑 PHP 文件中的变量?
【发布时间】:2014-03-26 16:13:40
【问题描述】:

是否可以使用 Cronjob 编辑 PHP 文件中的变量?如果是这样,我该怎么做?

基本上我有一个看起来像这样的 PHP 文件:

<?php
$daynumber = "1";
$txid = tx1;
$endtime = "2014-3-28 20:30:00 GMT+11:00";
?>

我想要的是每 24 小时通过将天数加一和 txid 加一来更改它。

因此,在上面的代码运行 24 小时后,cron 作业基本上会如下所示:

<?php
$daynumber = "2";
$txid = tx2;
$endtime = "2014-3-29 20:30:00 GMT+11:00";
?>

有可能吗?如果不是,我还有什么其他方法可以产生相同的结果。

非常感谢,感谢我收到的任何帮助。

【问题讨论】:

  • 通常您会在数据库中设置一个值,然后 php 脚本会读取该值。
  • 生活令人惊奇——我从没想到有人想要更改 cron 作业的源代码。

标签: php cron


【解决方案1】:

忘记这个任务的 cron
即使没有数据库 - 如果出于某种原因您不想使用它:

<?php
define("FIRST_DAY_STRING", "2014-3-26");
define("SHIFT_DAYS", 'P2D');
define("TIME_SUFFIX", " 20:30:00 GMT+11:00");

$today = new DateTime();
$first_day = new DateTime(FIRST_DAY_STRING);
$interval = $first_day->diff($today);
$days = $interval->format('%R%a days');
$end_date = $today->add(new DateInterval(SHIFT_DAYS));

$day_number = intval($days) + 1;
$txid = "tx$day_number";
$end_time = $end_date->format('Y-n-j')
$end_time .= TIME_SUFFIX
?>

此示例假设您从 2014 年 3 月 26 日(第 1 天)开始计算天数,并且结束时间始终是 2 天后的 20:30:00。您可以更改常量以获得不同的行为。

【讨论】:

  • 好的,非常感谢您的详细回答。你会如何推荐使用 MYSQL 来完成这项任务?
  • MySQL 也可以。使用 cron 比这个想法要好得多 :) 如果您认为可以,请投票和/或接受我的回答。祝你好运。
  • 谢谢您的回答。由于我对 PHP 和 MYSQL 相当“菜鸟”,我可以在 StackOverflow 上打开另一个问题,该问题要求解决我的问题,但使用 MYSQL 而不是 CRON?再次感谢。
  • +1 用于替代该 cron 编辑! :) 太好了!
  • @user3462992 是的,请随时询问 MySQL 解决方案。描述这段代码的目的是什么。但是一件重要的事情。写一个简短的代码示例——你将如何解决这个问题。可能会有很多错误,但 SO 成员很欣赏你有一个概念的事实。不要要求现成的解决方案!你有一个想法用 cron 改变代码。即使这是一个坏主意,这也是我写答案的原因。你必须证明你真的试图解决 SO 上的问题。然后你会得到我们的帮助。
猜你喜欢
  • 1970-01-01
  • 2017-12-09
  • 2019-06-02
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 2018-03-15
相关资源
最近更新 更多