PHP скрипт. Simple URL checker — выполнение проверок (cURL)

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

Simple URL checker - cURL
Приветствую всех!

Как я и обещал, мы продолжаем разработку приложения для проверки URL и сегодня займемся непосредственно выполнением проверок.

Чтобы немного облегчить себе жизнь, проверки мы будем выполнять с помощью библиотеки cURL.

Эта библиотека предоставляет очень широкие возможности для работы с web ресурсами. Поддерживаются редиректы, отправка данных, установка заголовков, автоматически собирается статистика и многое другое. Естественно, все возможности гибко настраиваются. В общем, при желании можно полностью имитировать работу человека в интернете.

Теперь нам нужно подключить эту библиотеку к PHP. Для этого в файле php.ini нужно убрать «;» в начале строки extension=php_curl.dll. После этого в сведениях, которые возвращает функция phpinfo() появится раздел curl и в нем параметр — cURL support: enabled.

Библиотека подключена и можно начинать ее использовать.

Для начала приведу небольшой пример, иллюстрирующий основные принципы работы с библиотекой на PHP.
Читать дальше

PHP скрипт. Simple URL checker — контроллер

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

Simple URL checker - контроллер
Сегодня я продолжу рассказ о разработке web приложения, выполняющего проверку URL.

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

Примечание. Ссылки на все предыдущие статьи находятся здесь.

Теперь самое время заняться контроллером.

Т.к. приложение довольно простое нам вполне хватит одного контроллера, назовем его main. Кстати, при настройке CodeIgniter в файле routes.php мы указали, что этот контроллер должен загружаться по-умолчанию.

Со структурой приложения и его функциями мы уже определились, переходим к написанию методов контроллера.
Читать дальше

PHP скрипт. Simple URL checker — создание моделей

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

Simple URL checker - модели
В этой статье я продолжу рассказывать о создании web приложения для проверки URL. Сегодня мы займемся разработкой моделей.

Примечание. Ссылки на предыдущие статьи этого цикла находятся здесь.

Как вы, наверное, знаете, модели используются для работы с данными. Т.е. если строго следовать модели MVC, модель должна читать / сохранять данные, представление – отображать их, а контроллер – обеспечивать обработку запросов и взаимодействие между моделью и представлением.

Для этого приложения мы сделаем две модели. По одной для каждой таблицы в базе данных.

Примечание. Подробно структуру приложения и базы данных мы рассмотрели в предыдущей статье.

В общем-то, разделение моделей по таблицам довольно условное. Некоторые запросы обращаются к обеим таблицам.

Теперь рассмотрим их подробнее.
Читать дальше

Разработка web приложения для проверки URL (структура)

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

Логотип
В прошлый раз я начал рассказывать о разработке небольшого web приложения, выполняющего проверку доступности сайтов. Мы уже определились с требованиями к этому приложению (составили перечень функций) и библиотеками, которые будем использовать.

Сегодня мы рассмотрим структуру приложения и базы данных, а также установим и настроим фреймворк.

Итак, структура приложения.

Исходя из перечня функций, нам хватит двух страниц.

Главной (mainpage) – здесь будет размещена таблица с краткой информацией о результатах проверок, ссылки «Удалить» для каждого URL, форма добавления нового URL и кнопка «Пинговать все!», запускающая одновременную проверку всех URL.

Страницы со сведениями по выбранному URL (urldetails). Здесь будет таблица с подробной информацией о результатах проверок (время/дата, результат, размер полученной страницы, время и скорость загрузки). Кроме того, мы добавим ссылки для удаления любого из результатов и кнопу «Пинг».

Посмотреть как выглядят эти страницы можно на скриншотах.
Читать дальше

Разработка 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 с инструкциями по установке.

До встречи!

Как рассчитать трафик при выборе хостинга

Владимир | | Hosting.

Расчет трафика

Если вам хоть раз приходилось выбирать хостинг, то вы прекрасно знаете насколько это непросто 🙂 .

Основная проблема, конечно, в желании хостеров убедить клиента, что только здесь он получит лучший сервис и неограниченные возможности «почти» даром.

О том, где бывает бесплатный сыр, писать я не буду, думаю, вы и так в курсе.

А в этой статье хочу рассказать об одном из основных параметров хостинга – количестве трафика, который входит в пакет.

Вообще-то, тема далеко не оригинальная и часто обсуждается. Кстати, советую почитать статью Максима «Неограниченный трафик. Бывает ли?».

Но я все-таки хочу рассказать о собственных наблюдениях и расчетах.
Читать дальше

Web разработка. Новые возможности в RSS events

Владимир | | RSS events.

RSS events logoСовсем недавно я запустил собственный мини-проект — RSS events, который позволяет вам создать RSS ленту с напоминаниями (т.е. что-то вроде online аналога обычных программ-напоминалок).

Сервис еще находится на этапе бета тестирования, и я понемногу расширяю его возможности и исправляю ошибки.

На данный момент добавлены:

1) возможность менять заголовок ленты;

2) возможность вставлять праздники в ленту из готового списка.

Спасибо ezoterik и MAX за идеи!

Оба нововведения находятся на странице «Настройки», а их использование не должно вызвать проблем (надеюсь 🙂 ).

Для изменения заголовка ленты введите новое название и нажмите «Сохранить».

А чтобы добавить праздники, просто поставьте галочки напротив нужных и нажмите кнопку «Добавить выбранные праздники».

После этого, выбранные праздники появятся в редакторе вашей ленты и вы сможете изменить их по своему усмотрению (например, добавить какой-нибудь комментарий).

В общем, приглашаю всех желающих протестировать сервис и высказать свое мнение 🙂

Как «спрятать» внешние ссылки. Небольшой PHP скрипт

Владимир | | htaccess, PHP, SEO.

Маскировка ссылок

Эта статья об одном из довольно распространенных способов маскировки внешних ссылок (по-английски – link cloaking).

Работает link cloaking следующим образом. Просматривая страницу, посетитель видит обычную внутреннюю ссылку. Но, после перехода по ней – попадает на другой сайт.

На сегодняшний день существует несколько способов создания таких ссылок. Но мы рассмотрим один из самых удачных (с моей точки зрения), не требующий поддержки со стороны браузера.

Идея заключается в использовании редиректа и реализуется в два этапа:
Читать дальше

Работа с RSS. Ограничение FeedBurner

Владимир | | WordPress, Разное.

Буквально на днях обнаружил одно из ограничений FeedBurner’а.

Началось все с того, что во вторник я написал очередной пост.

Т.к. на обновление ленты FeedBurner’а обычно уходит около 30 мин, сразу проверять появился ли пост в ридере, не было смысла, а потом я просто об этом забыл.

В общем, только в четверг я заметил, что мой RSS ридер не показывает новый пост.

А при попытке подписаться на собственную ленту увидел «шикарную» картинку.

ограничение feedburner (миниатюра)

С помощью которой FeedBurner сообщил, что ему не нравятся ленты больше 512 КБ. Честно говоря, я думал, что FeedBurner отправляет письма с описанием ошибок.

М-да… Не думал, что 20 моих статей занимают 512 КБ 🙂

Естественно, я сразу же сократил количество постов в ленте до 10. И сделал пинг своего блога на сайте FeedBurner’а.

В результате, минут через 10 лента нормально заработала.

Так что прошу прощения у всех, кто не смог подписаться.

Мораль. Нужно читать собственную ленту 🙂

Администрирование сайта. Backup базы данных с помощью PHP скрипта и ограничения хостинга

Владимир | | PHP, Разное.

Логотип для backup базы данных
Недавно я столкнулся с небольшой проблемой. Нужно было организовать автоматическое создание резервных копий базы данных.

Задача, конечно, стандартная, а, учитывая объем базы (меньше 1МБ), может быть решена без специального софта и оборудования.

Так что я выбрал самый простой способ (осуществляется в три этапа):

1) создание дампа БД;
2) упаковка дампа в архив;
3) отправка архива на eMail.

На сегодняшний день, объемы почтовых ящиков позволяют вообще не удалять эти архивы, и надежность решения получается довольно высокой, т.к. данные хранятся на разных серверах.

Т.е. все, что нужно сделать – написать скрипт и запускать его с помощью cron.

Скрипт я решил сделать на PHP, и сразу же столкнулся с проблемой.
Читать дальше