Вторник, 19 мая 2015 18:20

Astronomy Picture of the Day на вашем сайте

Оцените материал
(2 голосов)

Продолжаем наш интернет-курс, посвященный изучению php, js, xml и json.

Мы научились выводить на страничке сайта прогноз погоды, используя API отличного погодного сервиса World Weather Online, получили курсы валют с сайта ЦБ и перечень уязвимых Joomla-extensions в формате JSON от Phil Taylor, рассмотрели возможность разбора JSON без php вообще, на одних только циклах js... что бы нам с вами еще такого общественно-полезного сделать, дабы закрепить пройденное? - тьфу, я хотел сказать, узнанное и найденное... учеба в бытность когда-то очень-очень давно в одной очень-очень средней школе заставила навсегда запомнить: "проходить" возможно только мимо чего-то, во всех иных случаях контент этого слова неприменим.

 

Dev banner 2

 

Что же, давайте для разнообразия создадим что-то не столь практичное и актуальное сегодня, как курсы валют с сайта ЦБ, может быть... и, тем не менее. В противовес и антитезу средней школе, так сказать! - помнится, на уроках я как мог отнекивался от чтения совершенно бесталанной, на мой тогда взгляд, "Молодой гвардии", а вот книги Станислава Лема, братьев Стругацких и Владислава Крапивина взахлеб читал уже после уроков. И не могу сказать, что жалею об этом... предлагаю попробовать вновь пойти по этому пути: оставим здоровый практицизм (сделавший, надо сказать, кое-кого из моих однокашников - безукоризненно-образцово-показательных в школьную пору комсомольцев-комсоргов-активистов - вполне успешными деятелями постсоветского капиталистического бизнеса) где-то далеко в стороне и сотворим на сегодняшнем уроке нечто не вполне рациональное... но - заставляющее по-хорошему вспомнить о прочитанных в далеком детстве Эдеме и Солярисе; напишем сегодня код, результатом выполнения которого будет ежедневно обновляемая на нашем сайте картинка, Astronomy Picture of the Day, с сайта NASA - звездные миры, галактики, туманности и квазары... да, каждому свое.

Прежде всего, нам с вами понадобится получить API KEY на странице NASA'S DATA PORTAL. К слову сказать, мы смогли бы добиться решения поставленной задачки и без обращения к API, а посредством, скажем, вот этого, приведенного на форуме, скрипта; но понадобился бы еще и PHP Simple HTML DOM Parser. Да, картинка будет та же самая - APOD, Astronomy Picture of the Day - но зачем оно нам? Напишем свой код; тем более, будет он значительно более простым. Итак:

 

Продолжение статьи. Astronomy Picture of the Day на вашем сайте. Продолжение

 

Комментарии крайне несложны: как видите, в одну строку мы с вами получаем JSON посредством file_get_contents (не забудьте ввести ваш API KEY) и декодируем посредством json_decode, затем проверяем ответ сервера в заголовках и выводим в HTML изображение, дату и описание. Стили уж привяжите к дивам сами, какие пожелаете... еще не мешает добавить те или иные проверки JSON и несколько своих картинок; на случай, если API (или линк на изображение), что называется, "при наличии отсутствия" (такое бывает здесь на удивление нередко) - не поленитесь пролистать форум, ссылка чуть выше. А наш урок на этом - закончен. Enjoy!

Последнее изменениеВторник, 18 апреля 2017 11:05