2010-12-22 39 views
0

我想从远程服务器下载图像,只要它不超过两天。只有在不超过2天的情况下才会卷曲下载图像

我正在运行波纹管的代码是否正确?我想在下载之前知道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
$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); 
相关问题