#file_put_contents — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #file_put_contents, aggregated by home.social.
-
Еще один кейс на PHP. Скачиваем базу данных из открытого API
Решать задачу будем на примере каталога исторических экспонатов Музейного фонда РФ. API каталога является общедоступным сервисом. Сначала нам нужно будет сформировать ссылку на скачивание архива ZIP с информацией. Сделать это нужно аккуратно, так, чтобы изменения в названиях файлов, которые могут время от времени случаться, не повлияли на работоспособность нашего скрипта. Затем, мы создадим шакалу загрузки, или прогресс-бар, как ее еще называют, чтобы отслеживать процесс скачивания. Экспонатов много, каталог большой: «весит» он более 5 Гб. Без индикации загрузки пользователь может недоумевать, почему ничего не происходит и консоль просто висит долгое время. Наконец, скачаем файл из API, который потом можем разобрать по таблицам своей базы в том виде, в котором понадобится. 1. «Побеждаем» html Структура файлов нашего проекта будет типичной. Потребуется класс Downloader.php. Там пропишем основную логику скачивания архива из API, а также index.php, в котором будем запускать методы из этого и других классов. Также будет необходим config-файл, в котором мы будем аккумулировать информацию о переменных параметрах нашего приложения, которые могут поменяться. Из Downloader.php придется периодически наведываться в «конфиг», чтобы получить тот или иной входной параметр. Обратите внимание на папку museumData, туда мы будем сохранять нашу базу данных из API. Воспроизведите, пожалуйста, структуру ниже у себя. Скриншот №1
https://habr.com/ru/articles/793416/
#API #PHP #DOM #Downloader #DOMXpath #file_put_contents #Файл #Прогрессбар #Пример