Всем привет. Сегодня мы рассмотрим функции php с помощью которых можно сжимать строки. Поехали!
Допустим у нас есть строка:
$string = "Ветеран Microsoft, проработавший в компании 21 год на различных
руководящих постах (последний — подразделение Windows и устройств),
вскоре уйдёт в отставку. Это связано с существенной реорганизацией структуры
корпорации. Возникнут две новых ключевых команды: первая будет нацелена на
окружение и устройства, а вторая — на облачные службы и ИИ-платформы";
echo strlen($string);
В ней примерно 641 символ и мы хотим ее сжать. Для этого можно воспользоваться функцией gzcompress():
$compresed = gzcompress($string);
echo 'Количество символов строки до сжатия '.strlen($string).' и после сжатия '.strlen($compresed);
Результат: Количество символов строки до сжатия 641 и после сжатия 369. Я думаю разница видна.
Функция gzcompress() сжимает строку используя формат данных ZLIB. В качестве аргумента она принимает строку которая будет сжата и еще может принимать уровень сжатия от 0 до 9.
gzcompress($string, 1)
Здесь в функции gzcompress() мы указали минимальный уровень сжатия 1. При значении ноль сжатия в данной функции не происходит.
После сжатия строка становится нечитаемой так как преобразуется в формат ZLIB.
echo gzcompress($string)
Для того чтобы вернуть сроку к прежнему состоянию нужно воспользоваться функцией gzuncompress() :
gzuncompress($compresed)
В результате строка вновь станет стандартного размера.
В php есть и другие функции для сжатия. Они точно такие же принимают аргументы, но имеют другой формат сжатия. Примеры:
gzencode() - создает сжатую строку gzip.
gzdecode() - раздекодировать сжатую строку gzip.
gzdeflate() - сжимает строку используя формат DEFLATE.
gzinflate() - распаковать сжатую строку в формате DEFLATE.
Вот мы и рассмотрели все основные функции php с помощью которых можно сжимать строки.
На этом данная статья подошла к концу. Не забывайте оставлять комментарии.
Вступайте в мою группу в ВК для получения информации о новых статьях. Также переходите на мой канал youtube, где я каждую неделю публикую новое видео.На этом у меня все. Желаю удачи и успехов! Пока!