Здравствуйте всем. Есть необходимость скачать пару сотен изображений с сайта. Пользуюсь Curl. Вот код: Код (Text): <? $a = "http://site.ru/images/product_images/popup_images/"; $b = 120; $c= "_0"; $$a = $b.$c.".jpg"; while ($b < 128) $ch = curl_init('$a${$a}'); $fp = fopen($b.$c.".jpg", "w+"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); $b++; ?> Отдельно качает. А вот в цикле нет. Подскажите куда смотреть.
Код (Text): $$a - так и должно быть? Код (Text): while ($b < 128) $ch = curl_init('$a${$a}'); -помоему это вечный бессмысленный и беспощадный цикл
точно так и должно быть? [ намекаю: два доллара. два! ] посмотри в чужом коде фигурные скобки. они не зря там
чужой код для склейки переменных Код (Text): <?php // говорим, что имя переменной $$a - "hello" $a = "hello"; // здесь в $hello помещаем слово "world" $$a = "world"; // далее распечатаем, будет: hello world print "$a ${$a}"; ?>
Код (PHP): <?php $a='hello'; // здесь в $hello помещаем слово "world" $a.='world'; // далее распечатаем, будет: hello world echo $a; ?>
Ой что то я не посмотрев копирнул. Вы правы через точку и один знак $. И все же почему не качает? Или Curl не может с лету собранные ссылки качать?
Есть сайт. Надо скачать много картинок с него. В преддверии разговоров "хорошо или плохо" скажу, что есть разрешение на это. Картинки имеют url вида http://site.ru/cat/image/1_0.jpg(2_0.jpg). Пытаюсь curl'у скормить собранные в цикле url'ы следующим способом. Код (Text): <? $a = "http://site.ru/images/product_images/info_images/"; $b = "120"; $num = "$b"; $c= "_0"; $e = ".jpg"; $url = $a.$num.$c.$e; $ch = curl_init('$url'); $fp = fopen($b.$c.".jpg", "w+"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); ?> использую while.
И что это? $ch = curl_init( ' $url ' ); Вы видимо не различаете синтаксис кавычек, раз пишите такую ерундистику Так нельзя писать... Ибо переменная не будет выполнена и будет просто текст... А вообще на будущее, не надо такие скрипты писать, к чему делать так: $b = "120"; $num = "$b"; И на кой черт столько переменных, вы там че делаете еп?( Переменные выше одинаковые, только вот зачем было создавать их 2 и еще и в " $ b " присваивать второй... ОМГ... $num = $b; да и вообще... Тут ваше вот это: Код (PHP): $a = "http://site.ru/images/product_images/info_images/"; $b = "120"; $num = "$b"; $c= "_0"; $e = ".jpg"; $url = $a.$num.$c.$e; Можно удалять закрыв глаза... ГОВНО КОД ЕЩЕ ТОТ........
Про $num = "$b" соглашусь. А как еще собрать ссылку для Curl вида http://site.ru/images/product_images/info_images/129_0.jpg? где меняется только цифра 129? причем меняется от 1 до 250. и сохранить надо с теми же именами? Данный код работает и качает как надо. Возможно не идеален. Если подскажите как не говнокодить буду благодарен. Код (Text): $b = "120"; while ($b < 130) { $b++; $a = "http://site.ru/images/product_images/info_images/".$b."_0.jpg"; $ch = curl_init("$a"); $fp = fopen("".$b."_0.jpg", "w+"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); }
Код (PHP): $b=120; while($b < 130) { ++$b; $ch=curl_init('http://site.ru/images/product_images/info_images/'.$b.'_0.jpg'); $fp=fopen($b.'_0.jpg','w+'); curl_setopt($ch,CURLOPT_FILE,$fp); curl_setopt($ch,CURLOPT_HEADER,0); curl_exec($ch); curl_close($ch); fclose($fp); }
Т.е. Ваш код отличается только одинарными ковычками? и сокращением данной строки? Код (Text): $ch = curl_init("$a"); Спасиибо за критику. Иногда она помогает включить мозг.
Да вот на какой вы делаете туда эти ковычки? Код (PHP): $ch = curl_init($a); Если в не видите отличие, то без комментариев)))