Blog. Just Blog

Web-мастеру и не только

Полезные решения для Web-мастеров
Web-мастеру и не только - RSS-канал Web-мастеру и не только - Карта сайта

Эффект пикселизации на PHP

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

Эффект пикселизации на PHP

Очередная реализация графических эффектов на PHP. На этот раз будет эффект пикселизации. Он заключается в следующем: изображение делится на квадраты (блоки) нужного размера, в каждом из них определяется основной цвет, затем выполняется заливка квадрата полностью этим цветом. Да, я в курсе про существование штатной функции PHP imagefilter с параметром IMG_FILTER_PIXELATE, но "ручная" реализация шире по возможностям и гораздо полезнее для мозгов.

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

Обфускация строк на PHP

07.09.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
За несколько лет исследований различных кодировщиков и обфускаторов PHP-скриптов я изучил все используемые в них приемы сокрытия значений текстовых строк. Это могут быть названия функций или какие-то данные, которые должны быть представлены в виде строки. Так вот, во всех разобранных крипторах и обфускаторах символы в строке кодировались всего лишь несколькими способами: вариации преобразования строки из последовательности base64, декодирование из URL-encoded символов, escape-последовательности, упаковка строки в бинарные данные или результат функции chr по ординалу символа. Все подобные преобразования легко поддаются статическому анализу и декодированию типа замены по регулярным выражениям, то есть надежность сокрытия данных стремится к нулю.

В очередной раз экспериментируя с PHP, я решил на практике проверить, как поведет себя оператор инкремента и декремента в случае нецифровых значений. Согласно документации, при выполнении инкремента строковых переменных PHP следует соглашениям Perl, и рассматривает строку как условное число с базой значащих символов в диапазоне [a-z], [A-Z] и [0-9], причем одновременно. Проще всего это понять на следующих примерах:
  1. $a='K';
  2. $a++;
  3. echo $a;
  4. // L
  1. $a='a6';
  2. $a++;
  3. echo $a;
  4. // a7
Более интересные случаи для пограничных значений:
  1. $a='fZ9';
  2. $a++;
  3. echo $a;
  4. // gA0
  1. $a='ZZ';
  2. $a++;
  3. echo $a;
  4. // AAA
Постфиксный или префиксный инкремент тут значения не имеет, результат в обеих случаях одинаковый. При этом обратное действие, то есть декремент, как постфиксный, так и префиксный, на содержимое строки никак не влияет.

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

Google обнулил PageRank сайтов

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

Google обнулил PageRank сайтов

В апреле этого года Google обнулил показатель PageRank для всех сайтов. Раньше это значение можно было более-менее свободно получить при помощи различных инструментов, а сейчас по любому запросу возвращается нулевое значение. Изначально значение PageRank был введен как основной критерий ранжирования сайтов, он демонстрировал цитируемость сайта, то есть, чем больше авторитетных источников ссылалось на какую-либо страницу, тем выше был ее показатель PR. По словам Google, показатель PageRank будет и дальше использоваться при ранжировании сайтов, но для публичного доступа это значение отныне будет скрыто.

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

Просмотров: 906 | Комментариев: 3

Преобразование массива чисел в интервалы

06.08.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
По работе возникла необходимость обработать массив чисел таким образом, чтобы все последовательные значения в нем были преобразованы в интервалы. То есть массив [1, 3, 4, 5, 6, 9, 10, 15] должен превратиться в ["1", "3-6", "9-10", "15"]. Быстренько набросал вот такую функцию, может быть пригодится кому-нибудь еще.
  1. // Преобразование массива чисел в интервалы
  2. function array_to_intervals($data=array(), $divider='-') {
  3.     // Оставить только уникальные значения
  4.     $data=array_unique($data);
  5.     sort($data);
  6.  
  7.     $tmp=array();
  8.     $begin=$end=0;
  9.  
  10.     for ($i=0$i<count($data); $i++) {
  11.         // Начало интервала или одиночное значение
  12.         if ($begin==0) {
  13.             $begin=$end=$data[$i];
  14.         }
  15.  
  16.         if (isset($data[($i+1)])) {
  17.             // Расширить границы интервала
  18.             if ($data[($i+1)]==($end+1)) {
  19.                 $end++;
  20.             }
  21.             else {
  22.                 // Одиночное значение
  23.                 if ($begin==$end) {
  24.                     $tmp[]=$begin;
  25.                 }
  26.                 // Интервал
  27.                 else {
  28.                     $tmp[]=$begin.$divider.$end;
  29.                 }
  30.                 $begin=$end=0;
  31.             }
  32.         }
  33.     }
  34.  
  35.     if (count($data)) {
  36.         // Последнее значение
  37.         if ($begin==$end) {
  38.             $tmp[]=$begin;
  39.         }
  40.         else {
  41.             $tmp[]=$begin.$divider.$end;
  42.         }
  43.     }
  44.     return $tmp;
  45. }
Параметры функции: $data - массив для обработки, $divider - разделитель интервалов, по умолчанию "-", но можно задать свой, например, "...". На выходе - преобразованный массив с интервалами.

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

Эффект выборочного цвета на PHP

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

Эффект выборочного цвета на PHP

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

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

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