Скручивание скачать изображение только если не старше 2 дней - PullRequest
0 голосов
/ 22 декабря 2010

Я хочу загрузить изображение с удаленного сервера, только если оно не старше двух дней.

Правильно ли указан код, указанный ниже?Я хочу узнать данные last_modified перед загрузкой.

  $ch = curl_init($file_source);  // the file we are downloading
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  curl_setopt($ch, CURLOPT_FILE, $wh);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_FILETIME, true);
  curl_exec($ch);
  $headers = curl_getinfo($ch);
  $last_modified = $headers['filetime'];

  if ($last_modified != -1) { // unknown
      echo date("Y-m-d", $last_modified); //etc
  }


  curl_close($ch);
  fclose($wh);

1 Ответ

1 голос
/ 22 декабря 2010
$file_source = 'http://www.google.com/images/nav_logo29.png';
$ch = curl_init($file_source);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_FILETIME, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); <-- don't download first
curl_exec($ch);
$headers = curl_getinfo($ch);
$last_modified = $headers['filetime'];

if ($last_modified != -1)
{
  if ($last_modified>time()-86400*2) <-- not older than 2 days
  {
    $ch2 = curl_init($file_source);
    $wh  = fopen('YOUR_PATH, 'w');
    curl_setopt($ch2, CURLOPT_FILE, $wh);
    curl_exec($ch2);
    curl_close($ch2);
    fclose($wh);
  }
}
curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...