2013-03-19 3 views
0

У меня есть этот url www.example.com/1.png. Я хочу запустить цикл, например:Загрузить изображение с url если изображение существует

for ($i=0; $i<=10; $i++){ 
$url = 'www.example.com/'.$i.'.png'; 
} 

Теперь у меня есть URL-адрес 10x. Допустим, 7 из 10 URL-адресов являются изображениями, а остальные 3 недоступны. Я хочу загрузить изображение с каждого URL-адреса, и если url не существует, он не будет загружать что-либо.

Heres то же самое, но объяснено более основно я думаю:

www.example.com/1.png --- url exists, so i download the image and save it in my folder. 
www.example.com/2.png --- url exists, so i download the image and save it in my folder. 
www.example.com/3.png --- url doesnt exist, so i dont download anything 
www.example.com/4.png --- url exists, so i download the image and save it in my folder. 
www.example.com/5.png --- url exists, so i download the image and save it in my folder. 
www.example.com/6.png --- url exists, so i download the image and save it in my folder. 
www.example.com/7.png --- url doesnt exist, so i dont download anything 
www.example.com/8.png --- url exists, so i download the image and save it in my folder. 
www.example.com/9.png --- url exists, so i download the image and save it in my folder. 
www.example.com/10.png --- url doesnt exist, so i dont download anything 

Извините за плохой английский, любые предложения, как я могу решить эту проблему?

+1

где проблема? Что вы пробовали? если вы не знаете функцию сохранения файлов, вы можете использовать file_get_content() и file_put_content(), найдите их в справочнике php – aleation

+0

благодаря плохой проверке 'file_get_content() и file_put_content()' – Edgar

+0

Просто попробуйте загрузить URL-адрес. Если вы получите изображение, yay, иначе нет. – deceze

ответ

0

Вы можете проверить заголовки на ошибку 404.

$file_headers = @get_headers($url); 
if($file_headers[0] == 'HTTP/1.1 404 Not Found') { 
    //Does not exist 
} 
else 
{ 
    //Exists, so put download code here 
} 
+0

Спасибо, я думаю, это было то, что я хотел – Edgar

1

Загрузка изображений с file_get_contents() будет генерировать $http_response_header переменную, которая содержит заголовки ответа HTTP, который вы можете проверить. См. documentation here