如何在CRON中增加PHP变量

时间:2011-07-29 00:54:43

标签: php cron

我有一个simpleXML文件,它是从rest api调用生成的,并将通过cronjob按计划送入数据库。

从API调用返回的结果限制为每页10个,而我遇到的问题是更新调用的页码参数以获取下一组结果

$page_number = 1;
$page = $page_number++;

$api_url = "example.com/rest/api?products=new&pageid=$page";

我不确定如何让变量$ page在每个cron上递增,非常感谢任何帮助

4 个答案:

答案 0 :(得分:1)

在/tmp/file.txt中创建新的空文件

$page_number = file_get_contents("/tmp/file.txt");
if (!$page_number) $page_number = 1;
$page = $page_number + 1;
$f = fopen("/tmp/file.txt", "w+");
fwrite($f, $page);
fclose($f);

$api_url = "example.com/rest/api?products=new&pageid=$page";

答案 1 :(得分:1)

您可以存储:

  • File =>看到其他答案。你需要访问文件系统(但我认为你应该有这个或继续前进)。
  • Redis(或Memcached)=> http://redistogo.com提供Redis的免费实例和predis非常流行的PHP库连接到redis。这个解决方案(几乎'总是有效并且速度非常快。你只需要socket
  • SQL =>如果您的托管服务提供商提供此功能,您应该使用PDO连接到SQL。我认为它应该提供这个,或者你应该继续前进。

答案 2 :(得分:0)

将数字保存在数据库中或作为仅包含数字作为内容的文件将是最安全的方式。

答案 3 :(得分:0)

$fname = '/tmp/pager_counter'; // don't use tempnam function here!!!
$fp = fopen($fname, 'w+');
$page = (int)fread($fp, filesize($fname));
if (!$page) {
    $pgae=0;
}
$page++;
fwrite($fp, $page, strlen((string)$page));

$api_url = "example.com/rest/api?products=new&pageid=$page";

您可以轻松使用任何其他数据库或缓存(MySQLmemcache等。)