Новые книги

Черный PR сегодня активно перемещается в Интернет. В свое время кольт сделал людей равными. Сегодня Интернет уравнял финансово сильных и слабых в медиапространстве. Глобальная сеть позволяет рядовому человеку разорить могущественную корпорацию. Маленькая компания может эффективно противостоять транснациональному монстру, не располагая никакими финансами. Умение отражать информационные атаки стало на редкость насущной проблемой для любого бизнеса.

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

Функции Zlib-Компрессии

Учебник РНР
Назад Вперёд

CX. Функции Zlib-компрессии

Этот модуль использует функции zlib, авторы Jean-loup Gailly и Mark Adler, для прозрачного чтения и записи архивированных файлов gzip (.gz). вы должны использовать версию zlib >= 1.0.9 с этим модулем.

Этот модуль содержит версии большинства filesystem-функций, которые работают с gzip-архивами (а также с  несжатыми файлами, но не с сокетами).

Примечание: версия 4.0.4 вводит fopen-оболочку для .gz-файлов, так что вы можете использовать специальный 'zlib:' URL для доступа к сжатым файлам прозрачно, с помощью нормальных f*() функций доступа к файлам, если введёте к filename или path префикс 'zlib:' при вызове fopen().

В версии 4.3.0 этот специальный префикс был изменён на 'zlib://', чтобы предотвратить разночтение с именами файлов, содержащими ':'.

Это требует библиотеки времени выполнения С, которая предоставляет функцию fopencookie(). Насколько я знаю, GNU libc является единственной библиотекой, предоставляющей эту возможность.

Небольшой пример кода

Здесь открывается временный файл и в него записывается тестовая строка, затем дважды печатается содержимое этого файла.

Пример 1. Небольшой пример Zlib
<?php

$filename = tempnam ('/tmp', 'zlibtest').'.gz';
print "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// открыть файл для записи с максимальным сжатием
$zp = gzopen($filename, "w9");

// записать строку в файл
gzwrite($zp, $s);

// закрыть файл
gzclose($zp);

// открыть файл для чтения
$zp = gzopen($filename, "r");

// считать три символа
print gzread($zp, 3);

// выводить до конца файла и закрыть его
gzpassthru($zp);

print "\n";

// открыть файл и напечатать его содержимое (во второй раз)
if (readgzfile($filename) != strlen($s)) {
echo "Error with zlib functions!";
}
unlink($filename);
print "</pre>\n</h1></body>\n</html>\n";

?>
Содержание
gzclose - закрывает открытый указатель gz-файла
gzcompress - сжимает строку
gzdeflate - выкачивает строку
gzencode - создаёт gzip-сжатуюю строку
gzeof - проверяет end-of-file в указателе gz-файла
gzfile - читает весь gz-файл в массив
gzgetc - получает символ из указателя на gz-файл
gzgets - получает строчку из указателя файла
gzgetss - получает строчку из указателя gz-файла и вырезает тэги HTML
gzinflate - закачивает выкачанную строку
gzopen - открывает gz-файл
gzpassthru - выводит оставшиеся в указателе gz-файла данные
gzputs - записывает в указатель gz-файла
gzread - Binary-safe чтение gz-файла
gzrewind - возвращает в начало позицию указателя gz-файла
gzseek - ищет указатель gz-файла
gztell - говорит указателю gz-файла позицию чтения/записи
gzuncompress - разжимает выкачанную строку
gzwrite - Binary-safe запись в gz-файл
readgzfile - выводит gz-файл

НазадОглавление Вперёд
zip_readВверх gzclose