Blog. Just Blog

Быстрый поиск

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

Сумма прописью на PHP

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

Сумма прописью на PHP

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

Читать статью целиком »
Просмотров: 5828 | Комментариев: 7

Рекурсивный обход каталогов на PHP

17.07.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
Понадобилась универсальная функция для рекурсивного сканирования выбранного каталога, но не просто так, а с обработчиком найденных файлов. Вот что у меня получилось:
  1. //--------------------------------------------------------------
  2. // Функция рекурсивного сканирования каталога
  3. //--------------------------------------------------------------
  4. // Параметры:
  5. //   $directory - начальный каталог
  6. //   $callback - функция для обработки найденных файлов
  7. //--------------------------------------------------------------
  8. function scan_recursive($directory$callback=null) {
  9.     // Привести каталог в канонизированный абсолютный путь
  10.     $directory=realpath($directory);
  11.  
  12.     if ($d=opendir($directory)) {
  13.         while($fname=readdir($d)) {
  14.             if ($fname=='.' || $fname=='..') {
  15.                 continue;
  16.             }
  17.             else {
  18.                 // Передать путь файла в callback-функцию
  19.                 if ($callback!=null && is_callable($callback)) {
  20.                     $callback($directory.DIRECTORY_SEPARATOR.$fname);
  21.                 }
  22.             }
  23.  
  24.             if (is_dir($directory.DIRECTORY_SEPARATOR.$fname)) {
  25.                 scan_recursive($directory.DIRECTORY_SEPARATOR.$fname$callback);
  26.             }
  27.         }
  28.         closedir($d);
  29.     }
  30. }
Пример вызова функции:
  1. // Callback-функция, которая будет принимать имена файлов
  2. function scan_callback($fname) {
  3.     echo $fname.'<br/>';
  4. }
  5.  
  6. // Вывести список файлов и каталогов
  7. scan_recursive('C:/some_dir\subfolder/''scan_callback');
В этом случае будет просто выведен список файлов и вложенных каталогов с содержимым, находящихся по указанному пути. Функцию можно доработать, например, добавив возможность остановки сканирования при получении какого-нибудь ответа из callback-функции. Но пока такой задачи не возникало.

Просмотров: 5667 | Комментариев: 6

Ресайз изображений с размытым фоном на PHP

17.04.2017 | Категория: Web-мастеру и не только | Автор: ManHunter

Ресайз изображений с размытым фоном на PHP

Некоторое время назад я обратил внимание на интересный графический эффект, который используется в телевидении и социальных сетях. Он применяется, например, для разворачивания вертикального видео на горизонтальный экран без черных полос по бокам, для подгона разномастных изображений под единый формат. Суть этого эффекта заключается в том, что оригинальный кадр или снимок растягивается под нужный размер по ширине или высоте, из его середины вырезается участок нужного размера и сильно размывается. На полученную подложку накладывается оригинальное изображение.

Читать статью целиком »
Просмотров: 3061 | Комментариев: 8

Негатив изображения на PHP

04.03.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
В PHP есть штатная функция ImageFilter. С параметром IMG_FILTER_NEGATE она преобразует изображение в негатив. Но, как выяснилось на практике, эта функция косячно работает с некоторыми картинками при последовательном преобразовании изображения. Пришлось быстренько набросать свой вариант скрипта, вот что у меня получилось:
  1. // Файл для обработки
  2. $im=ImageCreateFromJPEG('test.jpg');
  3.  
  4. // Размеры изображения
  5. $width=ImageSX($im);
  6. $height=ImageSY($im);
  7.  
  8. for ($x=0$x<$width$x++) {
  9.     for ($y=0$y<$height$y++) {
  10.         $rgb=ImageColorAt($im,$x,$y);
  11.  
  12.         $R=($rgb >> 16) & 0xFF;
  13.         $G=($rgb >> 8) & 0xFF;
  14.         $B=$rgb 0xFF;
  15.  
  16.         // Противоположный цвет
  17.         $Rx=255-$R;
  18.         $Gx=255-$G;
  19.         $Bx=255-$B;
  20.  
  21.         // Добавить цвет в палитру и установить новый цвет пиксела
  22.         $new_color=ImageColorAllocate($im$Rx$Gx$Bx);
  23.         ImageSetPixel($im,$x,$y,$new_color);
  24.     }
  25. }
  26.  
  27. // Прибраться за собой
  28. ImageDestroy($im);
Код минимально необходимый, никаких проверок на наличие файла или корректность его внутреннего формата не производится, это вы можете сделать самостоятельно.

Просмотров: 1712 | Комментариев: 0

Исследование защиты программы srcProtector for PHP

29.12.2016 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы srcProtector for PHP

srcProtector for PHP - неплохой обфускатор PHP-скриптов. Фукнционал похож на другие подобные изделия, но тут что-то новое сложно придумать. Переменные, функции и классы переименовываются в случайные, убираются переносы строк и комментарии, строки кодируются, опционально обфусцированные скрипты сжимаются и дополнительно шифруются. В незарегистрированной версии можно за раз обработать только 5 скриптов. Это единственное ограничение, но для больших проектов критическое.

Читать статью целиком »
Просмотров: 2751 | Комментариев: 3

01 ... 06 07 08 09 10 11 12 ... 23
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2023
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.12 сек. / MySQL: 3 (0.0522 сек.) / Память: 4.75 Mb
Наверх