PHP скачивание файлов по списку URL
Доброго времени уважаемые читатели. Очередной пост — заметка, на тему PHP скачивание файлов по списку URL. Из заголовка поста думаю уже становится ясно о чем пойдет речь. Перейдем к сути дела.
Задача: Скачать большое количество файлов расположенных на удаленном сервере(серверах) имея при этом список адресов URL этих файлов. Это могут быть как каталоги картинок, программ или чего либо еще.
Решение:
Решить данную задачу можно с помощью просто PHP скрипта с использованием CURL.
Список URL файлов
$txt=" http://example.com/common/img/fe/form/main-680-white-important.gif http://examplecom/common/img/fe/form/main-680-white-checkout-back-link.gif http://example.com/common/img/fe/form/main-680-white-checkout-cart-link.gif "; $a1=explode("\n",$txt); $a1=array_unique($a1); foreach($a1 as $url) { $ch = curl_init($url); // инициализация $path_parts = pathinfo($url); //получаем название файла из URL // сохраняем полученный файл с его оригинальным названием $fp = fopen('images/'.$path_parts['basename'], 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); echo "$it<br>"; } |
В результате имеем папку с закаченными файлами из удаленных источников.
Куда применить? Иногда такой метод применяется для скачивания картинок дизайна какого нибудь сайта донора. Список адресов картинок можно получить из его файла стилей CSS. (Это конечно может использоваться как в благих целях, так и в целях плагиата. Мною подразумеваются конечно же исключительно положительные цели)
Похожие записи
5 комментариев to “PHP скачивание файлов по списку URL”
Оставить комментарий
Senior, Architector
предложить оффер
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Как создать публичный ключ в RSA? спросил (а) Сергей
- Интеграция Тинькофф банк Эквайринг на сайт для приема платежей к записи
- Скрипт парсинга форума к записи
- Интеграция по API с страховым маркетплейсом INSSMART к записи
- Интеграция Тинькофф банк Эквайринг на сайт для приема платежей к записи
- Joomla не пускает в админку к записи
- Все что нужно для работы с WSDL к записи
- Интеграция по API с страховым маркетплейсом INSSMART к записи
Archive
- +2023 (2)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (37)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Март 2016 (1)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (42)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (8)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Почему на сайте, что-то может «само» сломаться? 16.03.2023
- Как быстро писать статьи под низкочастотные запросы 28.02.2023
- Разработка сайта для Андрея Ковалёва 30.12.2022
- Разработка плагина для WordPress — Аудиогид 12.12.2022
- Оптимизация скорости работы сайта, поиск слабых мест (от CPU до MySQL) 07.12.2022
ну, ну. … а если файлов будет скажем 100-250? хостер тебе спасибо не скажет.
такой вариант уже не пойдет.
Думаю любой вариант не подойдет для закачки большого кол-ва файлов с использованием шаред-хостинга. VDS в таком случае думаю исправит ситуацию.
$url = ‘путь к удаленной картинке’;
$dir = ‘адрес дириктории для сохранения’;
$path_parts = pathinfo($url);
copy($url,$dir.$path_parts[‘basename’]);
делов то 😉
Не верно, команда copy не работает с удаленными хостами и получить удаленную картинку например с последующим ее сохранением на собственном хостинге таким образом не получится.
«Не верно, команда copy не работает с удаленными хостами и получить удаленную картинку например с последующим ее сохранением на собственном хостинге таким образом не получится.»
как то делал грабер и изображения с сайта сохранял на сервер с помощью copy
или речь о чем то другом?
так же можно и с помощью file_get_contents, file_put_contents