Это мой код:
function get_remote_file_to_cache(){
$sites_array = array("http://www.php.net", "http://www.engadget.com", "http://www.google.se", "http://arstechnica.com", "http://wired.com");
$the_site= $sites_array[rand(0, 4)];
$curl = curl_init();
$fp = fopen("rr.txt", "w");
curl_setopt ($curl, CURLOPT_URL, $the_site);
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_exec ($curl);
curl_close ($curl);
}
$cache_file = 'rr.txt';
$cache_life = '15'; //caching time, in seconds
$filemtime = @filemtime($cache_file);
if (!$filemtime or (time() - $filemtime >= $cache_life)){
ob_start();
echo file_get_contents($cache_file);
ob_get_flush();
echo " <br><br><h1>Writing to cache</h1>";
get_remote_file_to_cache();
}else{
echo "<h1>Reading from cache file:</h1><br> ";
ob_start();
echo file_get_contents($cache_file);
ob_get_flush();
}
Все работает так, как должно, без проблем и неожиданностей, и, как вы можете видеть, это довольно простой код, но я новичок в CURL и просто хотел бы добавить одну проверку в код, но не знаю, как:
Можно ли в любом случае проверить, что файл, извлеченный с удаленного сайта, не является страницей 404 (не найдена) или чем-то подобным, а является кодом состояния 200 (успешно)?
Таким образом, в основном, запись в файл кэша только в том случае, если заполнение имеет код состояния 200.
Спасибо!