Category Archives: php
Заголовки на скачивание файла
Чтобы при обращении по данному урлу браузер выдавал запрос на сохранение файла, нужно передать заголовки. Для этого достаточно только одного заголовка «Content-Disposition: attachment; filename=\»myfile.csv\»\r\n»
Дружим nginx и php-fpm
Мы уже установили nginx и php-fpm. К этому моменту при обращении к http://localhost/ выводится Welcome to nginx!, а через CLI запускаются php-скрипты. Самое время намекнуть nginx, где искать php-fpm.
Установка MySQL, PHP и PHP-FPM под Debian linux
Установка MySQL:
WebIDE. Удобный платный IDE
WebIDE — пока ещё нестабильная и немного глючная IDE для веб-разработки. Скоро станет платной, но на работе обещали купить;) Написана на яве, но работает ощутимо быстрее Eclipse, к примеру. Есть плагин для Mercurial.
Паттерны проектирования с подробными описаниями и с примерами
http://sourcemaking.com/design_patterns
Ещё один инструмент дебага (поиска и устранения ошибок) php-проекта
Бывает, что в проекте при возникновении ошибки формируется и отправляется e-mail при помощи обычного php-шного mail(). При этом хочется получать это сообщение при разработке на своей локальной машине с Windows. Вот программа под названием «Test Mail Server Tool»: TestMailServerToolSetup. Её нужно запустить, после чего все мэйлы будут перенаправляться на программу отправки мэйлов (к примеру, Thunderbird). …
Установка связки nginx_php-fpm_php под FreeBSD
В общем-то это ссылки по теме: ссылка на статью на сайте лиссяры: Веб сервер на много коннектов и высокую нагрузку (nginx+php-fpm+mysql); очень всё банально и просто — из портов без настройки: http://habrahabr.ru/blogs/server_side_optimization/67152/; очень хорошая статья про настройку этого дела: http://habrahabr.ru/blogs/server_side_optimization/70167/ В каждой из статей куча ссылок на другие. Ссылки по настройке NginX — https://blog.bullgare.com/2009/10/настройка-nginx-ссылки/
Генерация XML из массива
Сначала основная подзадача указанной задачи: Нужно генерировать массивы указанной структуры
1 |
array('#name' => '', '#value' => '', '#attrs' => array(), '#type' => '') |
Причём входные массивы могут быть различными: «простой тег»
1 |
array('tag' => 'value') |
«сложный тег»
1 |
array('#name' => 'tag', '#value' => 'value') |
и массив тегов
1 |
array('tag' => array(array('nested_tag' => array('nested' => 'value1')), array('nested_tag' =>'value2'))) |
Причём они могут вкладываться друг в друга для генерации сложных XML-структур. Без tdd, ясное дело, не обошлось. В итоге имеем класс для генерации подобных массивов с тестами к …
XSS-фильтр на PHP с DOMDocument и XPath
Навеяно http://habrahabr.ru/blogs/webdev/70903/ — много чего идеологически взято оттуда. Но код там написан неудобно для меня, поэтому написал свой класс (3 класса) для фильтрации пользовательского контента. Делает следующее: вырезает все неразрешённые теги, в разрешённых при этом удаляет все неразрешённые атрибуты. После этого для всех ссылок на сторонние сайты проставляет атрибут target=»_blank». После этого проверяет все атрибуты …
Установка PHPUnit «вручную» в Windows
Иногда бывает так, что у PHP по каким-то причинам нет доступа к интернету (NTLM-авторизация, блин((). Тогда придётся ставить всё вручную. В принципе, процесс установки описан на официальном сайте, но неправильно. Действовать можно так: 1.Скачать последнюю стабильную версию PHPUnit (при написании заметки была скачана версия PHPUnit-3.4.0). 2. Разархивировать и скопировать содержимое папки PHPUnit-3.4.0 в папку путь-к-php\PEAR. …