П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4095 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6756 раз(а).

Учебник HTML.
Просмотров 3717 раз(а).

Руководство по PHP5.
Просмотров 5990 раз(а).

Хостинг через призму DNS.
Просмотров 4809 раз(а).

Подборка текстов стандартных документов.
Просмотров 56244 раз(а).

Учебник PHP - Самоучитель
Просмотров 3701 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8334 раз(а).

Внешние атаки...
Просмотров 4563 раз(а).

Учебник PHP.
Просмотров 3172 раз(а).

SSI в примерах.
Просмотров 175 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

CLXX. Функции сжатия Zlib

Введение

Этот модуль позволяет работать со сжатыми файлами gzip (.gz) стандартным методом, наподобие функций файловой системы (исключение составляют только сокеты).

Замечание:В версии 4.0.4 появился новый протокол 'zlib:' для доступа прямого к сжатым файлам через обычные функции f*() (для этого нужно было добавить 'zlib:' в начало пути к файлу при вызове fopen().

В версии 4.3.0, префикс изменился на 'zlib://' для предотвращения многозначности в случае файлов, содержащих ':' в имени.

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

Требования

Этот модуль использует библиотеку zlib, написанную Jean-loup Gailly и Mark Adler. Используйте версию zlib >= 1.0.9 с этим модулем.

Установка

Поддержка Zlib при стандартной сборке PHP отсутствует. Чтобы изменить это, добавьте ключ --with-zlib[=DIR] при запуске сценария ./configure

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

Замечание: Т.к. библиотека zlib отсутствует в Windows, она встроена в PHP начиная с версии 4.3.0.

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Модуль zlib предоставляет возможность сжатия передаваемых страниц (в т.ч. динамических) на лету, если браузер это поддерживает. За сжатие отвечают три параметра в конфигурационном файле php.ini.

Таблица 1. Конфигурационные параметры, касающиеся Zlib

ПараметрЗначение по умолчаниюПеременная окружения
zlib.output_compression"Off"PHP_INI_ALL
zlib.output_compression_level"-1"PHP_INI_ALL
zlib.output_handler""PHP_INI_ALL
Для подробностей и определения переменных PHP_INI_* см. ini_set().

Краткое разъяснение конфигурационныхдиректив.

zlib.output_compression boolean/integer

Сжимать ли страницы. Если значение равно "On" в php.ini или в настройках Apache, страницы будут сжиматься если обозреватель посылает заголовок "Accept-Encoding: gzip" или "deflate". при этом в вывод будут добавлены заголовки "Content-Encoding: gzip" (соответственно "deflate") и "Vary: Accept-Encoding".

Аргументы также могут быть целого типа, так вы можете установить размер буфера (дискретизации) вывода (по умолчанию 4 Кб).

Замечание: output_handler должен быть пустым, если выбрано значение 'On'! Вместо него следует использовать zlib.output_handler.

zlib.output_compression_level integer

Уровень сжатия.

zlib.output_handler string

Если zlib.output_compression активировано здесь, указывать дополнительные обработчики вывода (output handlers) нельзя. Этот параметр делает то же, что и output_handler, но в другом порядке.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

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

FORCE_GZIP (integer)

FORCE_DEFLATE (integer)

Примеры

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

Пример 1. Небольшой пример использования Zlib

<?php

$filename
= tempnam('/tmp', 'zlibtest') . '.gz';
echo
"<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");

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

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

echo
"\n";

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

?>
Содержание
gzclose -- Закрывает открытый gz-указатель
gzcompress -- Сжимает строку
gzdeflate -- Сжимает строку
gzencode -- Сжимает строку в формате gzip
gzeof -- Проверяет, находится ли текущая позиция в конце gz-файла
gzfile -- Считывает весь gz-файл в массив
gzgetc -- Возвращает символ из gz-файла
gzgets -- Возвращает строку из gz-файла
gzgetss -- Возвращает строку из gz-файла с удалёнными HTML-тегами
gzinflate -- Распаковывает строку
gzopen -- Открывает gz-файл
gzpassthru -- Выводит все оставшиеся данные из указателя gz-файла.
gzputs -- Псевдоним gzwrite()
gzread -- Бинарное чтение gz-файла
gzrewind -- Перемещает индикатор позиции в gz-файле в начало
gzseek -- Перемещает индикатор позиции в gz-файле
gztell -- Возвращает текущую позицию чтения/записи в gz-файле
gzuncompress -- Распаковывает строку
gzwrite -- Бинарная запись в gz-файл
readgzfile -- Выводит содержимое gz-файла
zlib_get_coding_type -- Возвращает тип кодирования, используемый для сжатия вывода

Пред. Начало След.
zip_read Уровень выше gzclose


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru