Что самое ценное в нашем мире – информация! Ее потеря очень не приятна, а за частую и невосполнима. Согласитесь, потерять проект на который было потрачено много времени и сил из-за банального сбоя электропитания или битых секторов на стареньком винте очень обидно и не приятно.
Именно для этого были придуманы механизмы резервного копирования данных. В linux основной утилитой для этого является rsync.
Читать далее…
Очень часто начинающие php программисты спотыкаются об отправку почтовых сообщений.
Что-бы им стало немного легче выкладываю класс для отправки сообщений по стандарту MIME 1.0.
Класс позволяет вкладывать в сообщение файлы, вставлять изображения в текст, отправлять обычные копии и скрытые копии сообщения.
Читать далее…
Столкнулся с необходимостью закешировать динамические данные(графики) на уровне http заголовков.
Вспомнил о e-tag. В результате родился вот такой простой скрипт.
Читать далее…
В одном из постов нашего блога рассматривался класс registry, где механизм передачи данных между контейнером и внешней средой использовал магические методы __set и __get. Однако есть ещё один интересный механизм – встроенный интерфейс ArrayAccess. Интерфейс переопределяет квадратные скобки («[]«) у объекта, позволяя обращаться к нему как к массиву.
Здесь мы рассмотрим какой из этих методов быстрее.
Читать далее…
Были у меня необходимости выявлять где та или иная функция вызывается, в чужом коде. И не всегда на тестируемой машине был установлен xDebug. Собственно к делу коду. Функция выводит на экран последовательность инсрукций которые её вызвали Читать далее…
Что-то зачастили вопросы типа «как объявить все глобальные переменные в функции или методе?». Помимо пробегания глобального массива $GLOBALS foreach-ем, стоит обратить внимание на такую чудесную PHP-функцию как extract. То есть всё решение сводится к следующему коду: Читать далее…
Меня всегда интересует как надо писать код что бы он выполнялся быстро. Поэтому за некоторое время у меня накопилось несколько ссылок на ресурсы, которые приоткрывают секреты быстрого кода, коими решил я поделиться.
Читать далее…
По опыту скажу, что иногда есть необходимость конвертировать данные из одной кодировки в другу, но стандартный метод iconv недоступен (собственно и правильно – жрёт очень много, а используется мало). Тогда и может пригодится следующий скрипт, объявляющий функцию iconv. Конвертирование происходит через MySQL.
Читать далее…
Если кто-нибудь из Вас пытался сделать надпись на изображении по средствам GD на русском языке тот знает – ничего не выйдет! 
Но способ есть! Даже 2!
1) Использовать специальные шрифты gdf с поддержкой русского языка.
2) Конвертировать кириллический текст в чистый юникод. (Его и рассмотрим.)
Читать далее…
Часто на сайтах различных каталогов и магазинов можно видеть одну и туже картинку товара. А ведь она чья-то собственность! Но копипастерам и дела до этого нет. Именно для того, что бы защитить изображения со своего сайта на них накладывают водяные знаки(watermark).
Предлагаю php класс реализующий наложения водяного знака на изображение.
Читать далее…