Функция для перевода суммы из числа в строку (php)

Не так часто бывает нужна подобная функция, но когда нужна, нормальных решений найти не получается. Все какие-то полуработающие решения. Все что нашел, либо разбиты на несколько функций, что не очень удобно для mvc (не удобно добавлять в класс как методы), либо просто неправильно работают. Решил написать сам и сохранить на будущее. Смотрим здесь: https://github.com/adamasantares/sum2str

Примеры:

Sum::toStr(2546.34); // => "две тысячи пятьсот сорок шесть рублей 34 коп."

Sum:toStr(1500210.50); // => "один миллион пятьсот тысяч двести десять рублей 50 коп."

Sum:toStr(150, false); // => "сто пятьдесят"

Posted in PHP, Заметки, Мои скрипты | Tagged | Leave a comment

simplehtmldom и нехватка памяти

Тем, кто периодически делает парсеры сайтов, должна быть знакома библиотека Simple HTML DOM. Возможно, при написании очередного парсера, Вы вдруг столкнулись с нехваткой памяти. Такое может случиться, если в цикле загружается и обрабатывается много страницы (тем более увесистых). Проблема кроется в том, что PHP не успевает освобождать память от уже использованных simplehtmldom объектов, ссылки на которые не были уничтожены явно. Иначе говоря, если вы присвоили переменной новое значение, это не значит, что предыдущее значение сразу же освободило память. На это уйдет какое-то время.
Решается данная проблема явным уничтожением переменной, содержащую ссылку на объект, перед началом очередной итерации. Кроме того, сам объект имеет публичный метод clear(). В итоге получится что-то вроде этого:

for ($i=0; $i< $pages; $i++) {
    $html = str_get_html($pageHTML[$i]);
    // ... парсинг страницы ... //
    $html->clear();
    unset($html);
}

Ситуация с потреблением памяти изменится очень заметно.

Posted in PHP, Оптимизация, Работа | Leave a comment

Sim Slider для Joomla 3.x

На днях для одного сайта на Joomla потребовалось накрутить мой слайдер и я решил сразу оформить его в нормальное расширение.
Точнее в два расширения. Continue reading

Posted in Мои скрипты | 2 комментария

Переводим плагины WP

Однажды я публиковал файл перевода для плагина Ninja Forms, но с тех пор он устарел, а делать новый перевод мне особо некогда. Да и смысла в этом немного, учитывая как часто обновляется этот плагин. Continue reading

Posted in Прочее, Работа | Leave a comment

Инструкция от велокомпьютера assize as-825

Cвою инструкцию давно потерял и с трудом нашел в сети этот скрин. Может кому еще пригодится.
Continue reading

Posted in ПК и софт | Leave a comment

Nginx multiple server names and $_SERVER[‘SERVER_NAME’]

Неожиданно для себя узнал, что если у сайта в конфиге назначено несколько alias к основному домену, то независимо от того, на какой из них ты заходишь, в переменной $server_name всегда содержится исключительно первое имя из списка.
Continue reading

Posted in nginx | Leave a comment

Заметка: ssh auth by key

Надоело каждый раз вспоминать, как делается эта простая процедура. Поэтому просто оставлю это здесь.
Continue reading

Posted in Заметки | Leave a comment

Не запускается php5-fpm

На днях переезжал на другой VDS сервер и при настройке сайта столкнулся с проблемой. Не хотел работать php5-fpm. Причем, самое неприятное было то, что он не писал ошибку в логи 🙁
Continue reading

Posted in php5-fpm | Leave a comment

__FILE__ и __DIR__ в JavaScript

Иногда очень нужно знать путь к текущему скрипту. Находил несколько готовых решений, но они не работали в IE младше 9-й версии. Continue reading

Posted in Javascript | Leave a comment

Немного о создании шаблонов для joomla 3

Решил поделиться некоторыми знаниями с начинающими разработчиками под cms Joomla. Здесь не будет описана конкретно разработка шаблона, но будет рассказано о моментах, знание которых может пригодится. Continue reading

Posted in Заметки, Прочее | Tagged | Leave a comment