[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как закачать изображение с другого сервера?
jalvar
Как закачать изображение с другого сервера?
Раньше пользовался функцией copy, но на новом хостинг он пишит ошибку что нету доступа до удаленного файла.



Спустя 20 минут, 33 секунды (31.03.2011 - 17:36) jalvar написал(а):
Всё решил проблему
<?
$source = "http://www.webmorda.kz/site2img/?u=http://www.hotrusclick.com/&s=b&q=4&r=";
$dest = "prtscn/hotrusclick.jpeg";
// открыли соединение
$so = fsockopen("www.webmorda.kz", 80, &$errno, &$errstr, 30);
// послали GET форму (простой URL + указание вирт. хоста)
fputs($so,"GET /site2img/?u=http://www.hotrusclick.com/&s=b&q=4&r= HTTP/1.0\nHOST: php.spb.ru\n\n");

// читаем все, пока не наступит "конец заголовка" (т.е. начало документа)
// если наступит, то со след. байта начнется документ
while(fgets($so,2048)!="\r\n" && !feof($so));

unset($buf);
// читаем документ в переменную
while(!feof($so)) $buf.=fread($so,2048);
// Готово. В переменной $buf храниться скаченный документ (т.е. файл)
// Максимум можно читать порциями по 64K-1байт

// закрываем сокет
fclose($so);
echo "Download fine, size ".strlen($buf)." bytes."; flush();

// используем скаченный файл (в переменной) по назначению...
$f=fopen("download.tmp","wb+");
fwrite($f,$buf,strlen($buf));
fclose($f);
?>

Спустя 43 минуты, 50 секунд (31.03.2011 - 18:19) kasichvadim написал(а):
curl рулит, имхо

Спустя 48 минут, 35 секунд (31.03.2011 - 19:08) neadekvat написал(а):
Цитата (kasichvadim @ 31.03.2011 - 18:19)
curl рулит, имхо

Чтобы просто стырить картинку? Да бросьте.

Спустя 15 минут, 14 секунд (31.03.2011 - 19:23) kasichvadim написал(а):
Цитата (neadekvat @ 31.03.2011 - 18:08)
Цитата (kasichvadim @ 31.03.2011 - 18:19)
curl рулит, имхо

Чтобы просто стырить картинку? Да бросьте.

А что, лучше извращаться сокетами, чтобы стырить картинку? rolleyes.gif
Если не нравиться курл, тогжа уж лучше file_get_contents()

Спустя 3 минуты, 18 секунд (31.03.2011 - 19:27) phz написал(а):
Например так:

$url = 'http://umbrella-informer.yandex.net/1/34502.png';
$filename = 'gismeteo.png';

$file = file_get_contents($url);
if ($file) file_put_contents($filename, $file);

Спустя 22 минуты, 41 секунда (31.03.2011 - 19:49) neadekvat написал(а):
Цитата (kasichvadim @ 31.03.2011 - 19:23)
Если не нравиться курл, тогжа уж лучше file_get_contents()

То есть курл лучше, чем одна функция, так по-вашему? Сейчас я, конечно, говорю о небольших по весу картинках.

Спустя 9 минут, 21 секунда (31.03.2011 - 19:59) kasichvadim написал(а):
Цитата (neadekvat @ 31.03.2011 - 18:49)
Цитата (kasichvadim @ 31.03.2011 - 19:23)
Если не нравиться курл, тогжа уж лучше file_get_contents()

То есть курл лучше, чем одна функция, так по-вашему? Сейчас я, конечно, говорю о небольших по весу картинках.

Я не берусь судить лучше он или хуже. Он универсальнее. А ситуации бывают разные (редиректы и все такое), где курл практически не заменим.
Ну а если просто нужно стащить одну картинку, тогда file_get_contents будет идеальным решением.

p.s. Дабы избежать подобных нападок специально в моем посте написал "имхо" wink.gif


_____________
jallvar.oxnull.net - мой блог.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.