
Быстрый поиск
Введите фрагмент названия статьи для поиска

Установка ImageMagic для PHP5 под Windows
04.12.2017 | Категория: Web-мастеру и не только | Автор: ManHunter

Установка ImageMagic для PHP5 под Windows
По умолчанию PHP идет с библиотекой для обработки изображений GD. Удобная и мощная штука, которой хватает для большинства задач. Но иногда ее функций становится недостаточно. В этом случае надо установить дополнительную библиотеку ImageMagic. Вот и у меня на рабочем проекте возникла необходимость работать с графическими файлами в формате SVG. Продакшен крутится на CentOS, а рабочая машина под Windows. Везде пришлось устанавливать ImageMagic. Под CentOS все делается парой команд, а вот под Windows пришлось повозиться.
Читать статью целиком »
Просмотров: 882 | Комментариев: 0

Асинхронный запуск PHP-скриптов
13.10.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
Для сбора и обработки различной информации на сервере приходится запускать некоторое количество скриптов-автоматов. Работа некоторых из них может занимать достаточно продолжительное время, поэтому приходится использовать параллельный запуск сразу нескольких процессов. В PHP нет штатных функций для асинхронного запуска процессов, для этого я применяю вот такой нехитрый трюк с использованием cURL.Code (PHP) : Убрать нумерацию
- // Адрес вызываемого скрипта и параметры его запуска
- $url='http://example.com/process.php';
- $param1='dummy';
- $param2='foobar';
- $ch=curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
- curl_setopt($ch, CURLOPT_HEADER, FALSE);
- curl_setopt($ch, CURLOPT_POST, TRUE);
- curl_setopt($ch, CURLOPT_POSTFIELDS, 'param1='.$param1.'¶m2='.$param2);
- // Не ждем результат выполнения запускаемого скрипта, выполнение
- // основного процесса прекращается по таймауту
- curl_setopt($ch, CURLOPT_TIMEOUT, 3);
- curl_exec($ch);
- curl_close($ch);
- // Обработчик запущен, можно переходить к запуску следующего процесса
При таком режиме запуска возникает небольшая проблема с получением обратной связи от запущенных скриптов. Я решил ее просто: результаты записываются в лог-файл и в специальную таблицу базы данных. Анализом результатов занимаются следующие обработчики, но это уже совсем другая история.
Просмотров: 1492 | Комментариев: 0

Расстояние между двумя точками на карте
27.08.2017 | Категория: Web-мастеру и не только | Автор: ManHunter

Расстояние между двумя точками на карте
Одна из задач, с которой могут столкнуться разработчики - вычисление расстояния между двумя точками на карте. Это может быть определение объектов, которые находятся вблизи какой-то конкретной точки, оценка времени перемещения из одной точки в другую, вариантов применения может быть много.
Читать статью целиком »
Просмотров: 1884 | Комментариев: 2

Выборка родительских элементов в древовидном массиве
18.08.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
Создавать многомерный массив из одномерного массива с указателями на родительские элементы мы уже умеем. Но может возникнуть другая задача: зная ID элемента, надо получить все его родительские элементы, причем уровень вложенности может быть абсолютно любым. Пример из практики. В базе хранится список стран и регионов, перелинкованный через указатели на родительские элементы. Если его развернуть в многомерный массив, то получится примерно следующее:Code (PHP) : Убрать нумерацию
- $regions=array(
- 1=>array(
- 'name'=>'Россия',
- 'parent'=>0,
- 'child'=>array(
- 2=>array(
- 'name'=>'Москва и Московская область',
- 'parent'=>1,
- 'child'=>array(
- 3=>array(
- 'name'=>'Москва',
- 'parent'=>2,
- 'child'=>array(
- ),
- ),
- 5=>array(
- 'name'=>'Московская область',
- 'parent'=>2,
- 'child'=>array(
- 6=>array(
- 'name'=>'Дмитровский район',
- 'parent'=>6,
- 'child'=>array(
- 7=>array(
- 'name'=>'Дмитров',
- 'parent'=>6,
- 'child'=>array(),
- ),
- 9=>array(
- 'name'=>'Яхрома',
- 'parent'=>6,
- 'child'=>array(),
- ),
- ),
- ),
- ),
- ),
- ),
- ),
- 4=>array(
- 'name'=>'Пермский край',
- 'parent'=>1,
- 'child'=>array(
- 8=>array(
- 'name'=>'Пермь',
- 'parent'=>4,
- 'child'=>array(),
- ),
- 10=>array(
- 'name'=>'Соликамск',
- 'parent'=>4,
- 'child'=>array(),
- ),
- 11=>array(
- 'name'=>'Кунгур',
- 'parent'=>4,
- 'child'=>array(),
- ),
- ),
- ),
- ),
- ),
- );
Читать статью целиком »
Просмотров: 1023 | Комментариев: 2

Сумма прописью на PHP
07.08.2017 | Категория: Web-мастеру и не только | Автор: ManHunter

Сумма прописью на PHP
В соответствии с нормативными актами, регламентирующими порядок работы с бухгалтерскими документами, при заполнении многих унифицированных форм сумма указывается не только числами, но и прописью. Формат записи принят следующий: рублевая часть суммы указывается прописью в именительном падеже с заглавной буквы, а копейки обозначаются цифрами. При автоматической генерации документов на PHP с цифровыми выражениями проблем в принципе не возникает, а для преобразования чисел в сумму прописью я уже давно написал и использую вот такую функцию.
Читать статью целиком »
Просмотров: 3837 | Комментариев: 7
