Проверьте, существует ли файл на удаленной машине

Я хочу проверить, существует ли файл на удаленном веб-сервере с php.

Теперь у меня есть эта функция:

function url_exists($url) { // Version 4.x supported $handle = curl_init($url); if (false === $handle) { return false; } curl_setopt($handle, CURLOPT_HEADER, false); curl_setopt($handle, CURLOPT_FAILONERROR, true); // this works curl_setopt($handle, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); // request as if Firefox curl_setopt($handle, CURLOPT_NOBODY, true); curl_setopt($handle, CURLOPT_RETURNTRANSFER, false); $connectable = curl_exec($handle); curl_close($handle); return $connectable; } 

Он работает нормально, но если я передаю IP-адрес вместо имени домена, он возвращает false .. (поэтому я хочу проверить http://img.ruphp.com/php/test.jpg , когда я отправляю http://somedomain.com/ test.jpg он отлично работает …)

Есть идеи?

Заранее спасибо!

Удаленный сервер, вероятно, разрешает файлы с использованием заголовка Host .
Если это так, вам нужно использовать доменное имя.

Вы можете явно передать заголовок Host на IP-адрес, но я бы не рекомендовал его.