Разработка web приложения для проверки URL на PHP

Владимир | | PHP, Web разработка.

Simple URL checker
Приветствую всех читателей!

Эта статья открывает небольшой цикл о создании web приложения, предназначенного для проверки доступности сайта.

Конечно, выяснить доступен сайт или нет можно, просто набрав адрес сайта в строке браузера, но если такие проверки нужно проводить регулярно, то стоит автоматизировать процесс. Кроме того, наше приложение сможет собирать данные о нескольких сайтах и показывать статистику (скорость загрузки, размер страницы и т.п.). Назовем его – Simple URL checker.

Давайте сразу определимся с функциями приложения. На мой взгляд, в минимальном варианте потребуются:

1) возможность добавлять / удалять URL сайтов;
2) просмотр статистики по всем URL;
3) просмотр результатов проверок выбранного URL;
4) удаление отдельных результатов проверок;
5) проверка всех URL одновременно и каждого отдельно;
6) запуск проверок из консоли (поддержка cron).

Web приложение напишем на PHP, из дополнительных библиотек будем использовать библиотеку cURL и фреймворк – CodeIgniter.

Примечание. Вообще-то первоначально я думал написать просто пост с небольшим примером работы cURL, но этот пример быстро перерос в полнофункциональное web приложение 🙂 . Надеюсь, оно кому-нибудь пригодится.

Итак, с функциями приложения и библиотеками определились, в следующий раз мы подробно рассмотрим структуру приложения и базы данных.

Я буду использовать этот пост как сборник ссылок на все статьи этого цикла. Т.е. по мере их написания оглавление будет пополняться. И, естественно, можно будет скачать архив с приложением.

Оглавление.

1) Структура приложения и базы данных
2) Создание моделей для работы с БД
3) Добавляем контроллер
4) Подключаем cURL
5) Создаем страницы
6) Запускаем проверки по-расписанию

Скачать

Архив с приложением (24 кБ)
В архиве находится папка system/application с приложением, файлы simpleurl.sql, cron_cli.php и install.txt с инструкциями по установке.

До встречи!

  • А сейчас какие-то подобные решения есть уже в свободном доступе? Постоянно проблемы с хостом, никак не могу отследить почему ситуационно не доступен сайт. Вот думаю писать чекер самому или где взять.

    • Попробуйте http://host-tracker.com/ru/
      Он покажет скорость загрузки вашего сайта из нескольких десятков стран.

      А вот выяснить почему сайт был недоступен (проблемы у хостера или ошибки в ваших скриптах) — это уже другой вопрос. Тут одним чекером не обойдетесь.

  • А сейчас какие-то подобные решения есть уже в свободном доступе? Постоянно проблемы с хостом, никак не могу отследить почему ситуационно не доступен сайт. Вот думаю писать чекер самому или где взять.

    • Попробуйте http://host-tracker.com/ru/
      Он покажет скорость загрузки вашего сайта из нескольких десятков стран.

      А вот выяснить почему сайт был недоступен (проблемы у хостера или ошибки в ваших скриптах) — это уже другой вопрос. Тут одним чекером не обойдетесь.

  • Наверное, если уже делать нормальное приложение, то прийдется в конфиге делать возможность выбора между cURL, fopen и socket, так? 😉
    «Вообще-то первоначально я думал написать просто пост с небольшим примером работы cURL, но этот пример быстро перерос в полнофункциональное web приложение» — извечная проблема. Зато приятно потом свой код править.

    • Честно говоря, выбор между cURL, fopen и socket мне кажется лишним. Зачем? Самый удобный вариант cURL, который позволяет кроме всего прочего, одновременно работать с несколькими URL. Конечно, поддержки cURL может не быть…
      Но я не думаю, что вы захотите проводить проверки с такого хостинга 🙂

  • Наверное, если уже делать нормальное приложение, то прийдется в конфиге делать возможность выбора между cURL, fopen и socket, так? 😉
    «Вообще-то первоначально я думал написать просто пост с небольшим примером работы cURL, но этот пример быстро перерос в полнофункциональное web приложение» — извечная проблема. Зато приятно потом свой код править.

    • Честно говоря, выбор между cURL, fopen и socket мне кажется лишним. Зачем? Самый удобный вариант cURL, который позволяет кроме всего прочего, одновременно работать с несколькими URL. Конечно, поддержки cURL может не быть…
      Но я не думаю, что вы захотите проводить проверки с такого хостинга 🙂

  • salseeg

    to Aleksandr

    http://mon.itor.us/

  • salseeg

    to Aleksandr

    http://mon.itor.us/

  • Недельку назад думала такое реализовать, для проверки каталогов, потом как-то забыла, а сечас снова вспыло, блогодоря вашему посту. Спасибо за хорошую информацию, сейчас буду реализовывать.

  • Недельку назад думала такое реализовать, для проверки каталогов, потом как-то забыла, а сечас снова вспыло, блогодоря вашему посту. Спасибо за хорошую информацию, сейчас буду реализовывать.

  • Pingback: Руководства, статьи и заметки()