Ошибка при парсинге картинки.

seosniks
На сайте с 13.08.2007
Offline
389
666

В общем ситуация такая.

Сайт с юкоза хочу пернести и забрать все от туда на свой хостинг.

но не могу получить некоторые картинки на локалку.

делаю так

 $imgs ="<img  src=http://besplatnost.ru/uploads/posts/2009-07/1248345904_81d01db51160.jpg>";

preg_match_all('|src=(.*?)>|i',$imgs,$img );

for($q=0;$q<count($img[1]);$q++){
$pic=explode("/",$img[1][$q]);
$x=count($pic)-1;
echo $img[1][$q];
copy($img[1][$q],$pic[$x]);
$pic[$x];
$img[1][$q];
}

но некоторые картинки залиты на юкоз

так вот их скопировать не выходит

отдает массив как положено.

array(1) { [0]=> string(36) "сайт/51350.jpg" } сайт/51350.jpg

по ссылке картику вижу но если качать ее то

Warning: copy(сайт) [function.copy]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden

в общем скорее всего надо курлом делать

ебз юзер агента не отдает

так работает но это очень не удачное решение. Нашел в сети

$image_url = "сайт/картинка";

$fp = fopen ('aaa.jpg', 'w+');

$ch = curl_init($image_url);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");

curl_setopt($ch, CURLOPT_TIMEOUT, 50);

curl_setopt($ch, CURLOPT_FILE, $fp);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_exec($ch);

curl_close($ch);

fclose($fp);

как можо забрать картинку подскажите пожалуйста.

ewg777
На сайте с 04.06.2007
Offline
225
#1

file_get_contents

file_put_contents

Или же DudeCURL

for($q=0;$q<count($img[1]);$q++){

Так делать нельзя.

[Удален]
#2

ааааааааааааааааааа

for($q=0;$q<count($img[1]);$q++){
$pic=explode("/",$img[1][$q]);
$x=count($pic)-1;
echo $img[1][$q];
copy($img[1][$q],$pic[$x]);
$pic[$x];
$img[1][$q];
}

это вообще что????? форматируйте код, будет что показывать, а сейчас это кусок говнокода ниочем

E2
На сайте с 15.12.2006
Offline
128
#3
seosniks:
Сайт с юкоза хочу пернести и забрать все от туда на свой хостинг.

Боюсь даже спросить, а на юкозе FTP нет?!

Ап! И тигры у ног моих сели.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий