https://www.it4profit.com/catalogimg/wic/1/AD21000QN5M
Это путь к изображению товара. Необходимо их все скачивать в свою папку на своем сервере (дедик). file_get_contents() дает порядка 130-150 файлов и вешает скрипт.
Как скачать это дело cURL'ом? Помогите, хоть на примере одного данного файла.
Огромное спасибо.
Спустя 15 минут, 30 секунд (25.10.2011 - 20:09) Winston написал(а):
Сделаю за вас, за деньги.
Спустя 2 минуты, 29 секунд (25.10.2011 - 20:12) danilo написал(а):
Цитата (Winston @ 25.10.2011 - 17:09) |
Сделаю за вас, за деньги. |
дофига так уже заработал? )))
Спустя 3 минуты, 27 секунд (25.10.2011 - 20:15) Winston написал(а):
Цитата (danilo @ 25.10.2011 - 20:12) |
дофига так уже заработал? ))) |
Сто пиццот тыщ
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 5 минут, 36 секунд (25.10.2011 - 20:21) Игорь_Vasinsky написал(а):
danilo
а ты дофига так развёл?
а ты дофига так развёл?
Спустя 9 минут, 7 секунд (25.10.2011 - 20:30) danilo написал(а):
Не пойму, здесь что, братва собралась? Не можешь помочь - проходи мимо. Или в кайф посраться с кем-нить? Скучно?
UPD: А развел дофига. Но не так.
UPD: А развел дофига. Но не так.
Спустя 4 минуты, 46 секунд (25.10.2011 - 20:34) Игорь_Vasinsky написал(а):
Еще добавь к
Цитата |
Не можешь помочь |
"или не хочешь", а то я потерялся чё мне делать - тут сидеть или валить.
а человек которого ты обломал - есть автор этой статьи.
Спустя 1 минута, 27 секунд (25.10.2011 - 20:36) alex12060 написал(а):
Цитата |
Как скачать это дело cURL'ом? Помогите, хоть на примере одного данного файла. |
Да можно и не курлом. Хотя желательней им, с подделкой реферера и маскировкой под браузер.
А откуда ты будешь брать ссылки? Они у тебя будут?
Цитата |
Не пойму, здесь что, братва собралась? |
Да, угадал. Тут не любят халявщиков. Если хочешь получить ответ, следую правилу форума:
У меня не получается, хмм...
Зашел на форум, создал тему, описал суть проблемы, показал код, который не работает (ТВОИ НАРАБОТКИ!!!), далее тебе помогут.
А у тебя тут ТЗ.
Думай головой, тут делов то на 15 минут. Ну или давай за деньги напишем, раз дело на то пошло.
В чужой монастырь со своим уставом не ходят. Запомни это.
Если хочешь получить вменяемый ответ, попробуй написать код. Я тебе рассказал немного, дальше, уж, подумай сам. Всем пис.
Спустя 8 минут, 36 секунд (25.10.2011 - 20:45) danilo написал(а):
Ссылки мне дистрибьютор дает в XML. За картинкой лезу официально - ничего не тырю, все разрешено (пробовал 10000 картинок через img src опубликовать - все получилось норм). Вот кусок моего говнокода, если интересно:
Как-бы работает, но 150 раз всего.
foreach($img as $i) // в переменной img лежит урлъ
{
$imgContent = file_get_contents($i);
file_put_contents('/_ABSOLUTE_PATH_/www/images/image' . $c++ . '.jpg', $imgContent);
}
Как-бы работает, но 150 раз всего.
Спустя 3 минуты, 33 секунды (25.10.2011 - 20:48) danilo написал(а):
Цитата (Игорь_Vasinsky @ 25.10.2011 - 17:34) |
а человек которого ты обломал - есть автор этой статьи. |
Не думал, что обломал. Просто надо немного спокойнее шутить. Сюда, вроде, за помощью приходят...
Спустя 2 минуты, 9 секунд (25.10.2011 - 20:50) Игорь_Vasinsky написал(а):
xml? так ещё проще, не надо регулярки дёргать юзай simpleXML для разбора
file_get_contents() - дёргаешь xml и усе
file_get_contents() - дёргаешь xml и усе
Цитата |
Не думал, что обломал. Просто надо немного спокойнее шутить. Сюда, вроде, за помощью приходят... |
еслиб ье надо было $a + $b - то да, а так те объяснили с чем тут за помощью приходят
Спустя 2 минуты, 39 секунд (25.10.2011 - 20:53) Winston написал(а):
Цитата (Игорь_Vasinsky @ 25.10.2011 - 20:50) |
file_get_contents() - дёргаешь xml и усе |
Достаточно будет
simplexml_load_file('путь_к_файлу_на_сервере');
Спустя 4 минуты, 55 секунд (25.10.2011 - 20:58) danilo написал(а):
XML я уже давно распарсил (был вопрос, откуда я беру ссылки). Из XML беру.
Кстати, SimpleXML для таких объемных файлов - плохо. Пользую XMLReader.
По этим ссылкам скачать к себе на сервер не могу. В этом и вопрос.
Кстати, SimpleXML для таких объемных файлов - плохо. Пользую XMLReader.
По этим ссылкам скачать к себе на сервер не могу. В этом и вопрос.
Спустя 33 минуты, 1 секунда (25.10.2011 - 21:31) alex12060 написал(а):
danilo
пишешь в массив, пускаешь в цикл скачивание + запись + рандомное имя и все.
Типа так:
пишешь в массив, пускаешь в цикл скачивание + запись + рандомное имя и все.
Типа так:
set_time_limit(0);
$arr = array(); // Тут 10К картинок
$n = count($arr);
for($i=0; $i<=$n; ++$i) {
// Тут чтение и запись
}
Спустя 24 минуты, 19 секунд (25.10.2011 - 21:55) danilo написал(а):
Суть в том, что все это уже опробовано. Результат - 134 картинки. Вот код.
почему-то обрывает заказчку. На страничку можно хоть все 10000 вывести, а скачать - фиг.
$imgSQL = "SELECT id , ImageURL FROM store ORDER BY id ASC";
$imgRES = mysql_query($imgSQL);
while ($img = mysql_fetch_object($imgRES))
{
$imgContent = file_get_contents(urlencode($img->ImageURL));
file_put_contents('/-path-/images/' . $img->id . '.jpg', $imgContent);
}
почему-то обрывает заказчку. На страничку можно хоть все 10000 вывести, а скачать - фиг.
Спустя 26 минут, 29 секунд (25.10.2011 - 22:22) killer8080 написал(а):
danilo
отключи ограничение по времени
отключи ограничение по времени
set_time_limit(0);
ignore_user_abort(true);
Спустя 1 минута, 44 секунды (25.10.2011 - 22:23) Winston написал(а):
Цитата (killer8080 @ 25.10.2011 - 22:22) |
ignore_user_abort(true); |
ignore_user_abort(false);;)
Спустя 11 минут, 15 секунд (25.10.2011 - 22:35) killer8080 написал(а):
Winston
да ну
да ну
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата |
value If set, this function will set the ignore_user_abort ini setting to the given value. If not, this function will only return the previous setting without changing it. |
Спустя 16 минут, 30 секунд (25.10.2011 - 22:51) Winston написал(а):
Цитата (killer8080 @ 25.10.2011 - 22:35) |
да ну |
Ты поставил true, потому прервать выполнение скрипта не получится, и будет тот скрипт хрен-сколько выполнятся...
Или я туплю?
![huh.gif](http://phpforum.ru/html/emoticons/huh.gif)
Спустя 7 минут, 54 секунды (25.10.2011 - 22:59) killer8080 написал(а):
Цитата (Winston @ 25.10.2011 - 22:51) |
Ты поставил true, потому прервать выполнение скрипта не получится, и будет тот скрипт хрен-сколько выполнятся... |
Именно это и нужно, чтобы скачать огромное количество файлов. Время выполнения нужно ограничивать через set_time_limit(). Иначе работа скрипта может прерваться по истечении таймаута tcp или закрытии страницы в браузере.
Спустя 6 минут, 20 секунд (25.10.2011 - 23:05) danilo написал(а):
вроде курл пошел, спасибо Winston:
Только делается все очень долго (минут восемь). И не полностью, но уже лучше - 1100 файлов скачано. Щас попробую антиаборт сделать )) Хотя, чувствую, что это не выход...
$name="-filename-";
$fp=fopen($name,"w");//создаем пустой файл
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, "-url-");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
Только делается все очень долго (минут восемь). И не полностью, но уже лучше - 1100 файлов скачано. Щас попробую антиаборт сделать )) Хотя, чувствую, что это не выход...
Спустя 4 минуты, 16 секунд (25.10.2011 - 23:10) killer8080 написал(а):
danilo
наверно нужно копать в сторону мульти курл
наверно нужно копать в сторону мульти курл
Спустя 18 секунд (25.10.2011 - 23:10) Winston написал(а):
Цитата (danilo @ 25.10.2011 - 23:05) |
спасибо Winston |
За что спасибо ?
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата (danilo @ 25.10.2011 - 23:05) |
Только делается все очень долго (минут восемь) |
curl_multi ускорит процесс
Спустя 36 минут, 41 секунда (25.10.2011 - 23:47) danilo написал(а):
Цитата (Winston @ 25.10.2011 - 20:10) | ||||
За что спасибо ? ![]()
curl_multi ускорит процесс |
Отыскал один твой ответ в дебрях форума ) За это и спасибо.
multi надо попробовать. тож спасибо )