Статьи по программированию

Парсеры текущих курсов валют центральных банков разных стран мира

Этот набор готовых функций на PHP позволит разработчикам веб-сайтов сконструировать информеры текущих курсов валют для любого банка (страны) из приведенных ниже. Либо регулярно сохранять курсы валют в БД, используя потом их для построения графиков, таблиц и аналитических материалов. Данный код в несколько изменённом виде применяется на проекте http://currency.servisator.ru/

Код распространяется по лицензии GPL.

VBS-скрипт рекурсивного обхода папок на Windows (WSH)

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

Читаемая разбивка текста на страницы

Задача описанная в заголовке иногда возникает в разработке сайтов. Суть в следующем: есть очень большой текст (мегабайты), который хотелось бы не выдавать в одну страницу, а разбить на некоторое количество кусков примерно одинакового размера. Объём и структура текста заранее неизвестны. В качестве входных параметров выступают сам текст и номер страницы, которую надо показать. И важное замечание: речь пойдёт о просто текстах без какой-либо HTML-разметки. Тех самых, что живут в файлах с расширениями .txt и MIME-типом text/plain.

Первый вариант кода, что приходит в голову выглядит так:

Программное определение статуса Skype через сервисы skype.com

Система интернет-телефонии Skype предоставляет возможность своим пользователям показать их статус посредством изображения, находящегося по стандартному адресу http://mystatus.skype.com/дизайн_картинки/имя_в_скайп. Если вам необходимо использовать информацию о статусе на своем сайте, но предлагаемые изображения (см. здесь) вас не устраивают, можно написать скрипт на PHP, который получит эту информацию программно.

Программное определение статуса ICQ через сервисы icq.com

Чтобы самым простым образом программно в PHP определить статус пользователя в ICQ, воспользуемся сервисом сайта www.icq.com, который отдаёт картинку со статусом. Сервис работает примерно так. При запросе адреса http://status.icq.com/online.gif?icq=HOMEP_ICQ сервер проверяет наличие пользователя в сети, его настройки безопасности и просто перенаправляет клиента на одну из трех картинок, приведённых в заголовке заметки.

Ограничение числа подключений при скачивании файлов в PHP

Развивая тему закачки файлов через скрипты PHP с ограничением скорости рассмотрим ограничение количества скачиваемых файлов.

Для ограничения количества закачиваемых файлов, по какому-либо критерию, нам потребуется организовать обмен данными между двумя копиями одного скрипта, запущенными в пределах сеанса клиента. Это можно организовать через сохранение информации о запуске скрипта в базе данных или файле, установкой «куки» или использованием сессионных переменных. Правда, ограничения привязанные к сессии или cookie вряд ли могут надёжно помочь нам в этом случае. Клиенту достаточно очистить cookies или воспользоваться другим браузером или программой закачки. Единственный реальный на мой взгляд способ должен использовать ограничение количества закачиваемых файлов на основе IP-адреса клиента.

Ограничение скорости скачивания файла в PHP

В предыдущей заметке я рассмотрел способы отдачи файла через скрипт PHP. Приведенная там функция file_download() позволяет отдать произвольный файл, имя которого может быть параметром скрипта или быть заданным константой. Скорость закачки этого файла будет определятся только возможностями сервера и канала связи между ним и клиентом.

В случае большого количества подключений к одному или нескольким файлам через скрипт, может наблюдаться перегрузка сервера. Один из методов борьбы с такой перегрузкой – это ограничение как скорости скачивания файла, так и числа подключений от одного клиента или IP-адреса. Поскольку файл у нас отдаётся клиенту программно, то и регулировать скорость отдачи файла и число подключений мы будем таким же образом.

Скачивание файлов в PHP

Многие ресурсы используют файловые хранилища. Кроме возможностей загрузки и хранения файлов, бывает необходимо организовать их скачивание. Одно дело когда файлы лежат в открытом доступе, но и тогда может потребоваться передача файла через PHP. Например, администратору ресурса может быть нужна информация о количестве скачиваний. Для файлов большого объема до сих пор требуется возможность докачки, что пожалуй и является самым трудным моментом для серверных скриптов. Посмотрим как можно организовать работу скрипта на PHP, который позволяет реализовать все вышеуказанные возможности.

Krumo versus print_r() & var_dump()

Krumo

Заголовок у заметки, конечно, не очень получился. Какое противостояние может быть между боксером-тяжеловесом и забиякой-пятикласником? С появлением Krumo обе вышеуказанные функции PHP можно смело отправлять на свалку истории.

Самые главные функции PHP

Все, кто занимается разработкой и написанием кода делают ошибки. Это относится не только к PHP, а к любому языку программирования. Потому средства отладки занимают важное место в арсенале любого программиста. PHP ими тоже не обделён. Ошибки фатальные, связанные с неправильным синтаксисом обычно выдаются прямо в браузер.

Синдикация материалов