从cron作业将图形保存到本地文件夹

时间:2017-11-08 11:05:16

标签: php cron

我有一个每周运行一次的cron作业,并检查远程站点是否有任何更新,其中可能包含新数据,并且可能包含新图形。

我检查我的本地文件夹以查看图形是否已经存在,如果没有,那么我想保存该图形的本地副本。

当我从浏览器运行它时,我的代码似乎有效,但是当我每周检查一次文件夹时,会有很多空的图形文件。

它们具有正确的文件名,但都是零字节。

我在cron作业运行的php文件中的代码是:

if (!file_exists($graphic)) {
  $imageString = file_get_contents($graphicurl);
  file_put_contents($graphic, $imageString);
}

$ graphic将类似于“filename.jpg”

$ graphicurl将类似于“https://remotegraphicfile.jpg

我看到许多文件,例如“filename.jpg”存在于我的本地文件夹中,但文件大小为零。

当被cron作业调用时,有什么理由不起作用吗?

1 个答案:

答案 0 :(得分:0)

我现在通过更改原始代码来实现这一目标:

if (!file_exists($graphic)) {
  $imageString = file_get_contents($graphicurl);
  file_put_contents($graphic, $imageString);
}

对此:

if (!file_exists($graphic)) {
  $file = fopen ($graphic, 'w');
  $c = curl_init($graphicurl);
  curl_setopt($c, CURLOPT_FILE, $file);
  curl_exec($c);
  curl_close($c);
  fclose($file);
}

现在可以使用,并且在运行cron作业时图形保存到我的文件夹。