Blog. Just Blog

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

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

Затемнение изображения на PHP

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

Затемнение изображения на PHP

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

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

Эффект витражного стекла на PHP

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

Эффект витражного стекла на PHP

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

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

Преобразование многомерного массива в одномерный на PHP

02.11.2021 | Категория: Web-мастеру и не только | Автор: ManHunter
Как гласит японская мудрость: "Даже если меч понадобится один раз в жизни, носить его нужно всегда". Следующий трюк как раз из этой серии. А именно, преобразование многомерного массива в одномерный.

Делается все при помощи стандартного класса RecursiveIteratorIterator, который берет на себя извлечение данных из многомерного массива, и функции iterator_to_array, которая преобразует эти данные в одномерный массив. Код будет выглядеть следующим образом:
  1. // Исходный многомерный массив
  2. $multi_array=array(
  3.     array('first',1,2,3),
  4.         'A'=>array(
  5.             'ZYXEL'=>array('banana','apple',7,'gnome'),
  6.             7=>array('a','b','c'),
  7.             'ROBOTIX'=>array('2400','3200','8000'),
  8.         ),
  9.     'INTEL' => array(
  10.         0=>array(8,'AMD'),
  11.         1=>array(
  12.             'groups' => array(
  13.                 array('metallica','accept','kiss'),
  14.                 'kurt'
  15.             )
  16.         )
  17.     )
  18. );
  19.  
  20. $iterator=new RecursiveIteratorIterator(new RecursiveArrayIterator($multi_array));
  21. $one_array=iterator_to_array($iteratorfalse);
  22. print_r($one_array);
На входе многомерный массив с совершенно разнобойными элементами и ключами. На выходе получаем одномерный массив, включающий в себя все элементы многомерного массива.

Array
(
    [0] => first
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => banana
    [5] => apple
    [6] => 7
    [7] => gnome
    [8] => a
    [9] => b
    [10] => c
    [11] => 2400
    [12] => 3200
    [13] => 8000
    [14] => 8
    [15] => AMD
    [16] => metallica
    [17] => accept
    [18] => kiss
    [19] => kurt
)

На моей многолетней практике такая задача возникала всего один раз. Если вам когда-нибудь пригодится мое решение, то буду только рад.

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

Как получить размер изображения WebP на PHP

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

Как получить размер изображения WebP на PHP

Столкнулся с ситуацией, что PHP-шная функция для получения размера изображения GetImageSize возвращает нулевые значения при попытке обработать картинки WebP. При этом поддержка WebP в PHP частично имеется. Пришлось все делать самостоятельно.

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

Вызов защищенных и приватных методов класса

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

Вызов защищенных и приватных методов класса

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

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

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.007 сек.) / Память: 4.5 Mb
Наверх