我想檢查是否存在遠程映像。 目前使用CURL和基於其響應我可以確定文件是否存在。 但是,這取決於圖像文件的大小也需要一定的時間量。PHP最便宜的方式如何檢查是否存在遠程映像
有沒有最安全和最便宜的方式做一個檢查,而不離線或使用緩存?
$ch = curl_init();
// set URL and other appropriate options
/*--Note: if in sabre proxy, please activate the last 4 lines--*/
$options = array( CURLOPT_URL => $img,
CURLOPT_HEADER => false, // get the header
CURLOPT_NOBODY => true, // body not required
CURLOPT_RETURNTRANSFER => false, // get response as a string from curl_exec, not echo it
CURLOPT_FRESH_CONNECT => false, // don't use a cached version of the url
CURLOPT_FAILONERROR => true,
CURLOPT_TIMEOUT => 5
);
curl_setopt_array($ch, $options);
if(!curl_exec($ch)) { return FALSE; }
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return ($httpcode<400);
你可以發送HEADER而不是GET來只知道沒有下載該文件會有什麼反應,但是如何在curl中做到這一點我不知道。 – Dani
@Dani:它是「HEAD」,而不是「HEADER」。 –