Этот модуль использует функции библиотеки zlib >= 1.0.9 (http://www.cdrom.com/pub/infozip/zlib/) авторов Jean-loup Gailly и Mark Adler для прозрачного чтения и записи в gzip (.gz) сжатые файлы.
int gzclose
(int zp);
Закрывает gz-файл, указанный в переменной gz.
Возвращает true при успехе и false при ошибке.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
int gzeof
(int zp);
Возвращает true, если указатель gz-файла на метке EOF или произошла ошибка, в обратном случае возвращает false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
array gzfile
(string filename);Функция идентична readgzfile(), кроме того, что gzfile() возвращает файл в массив.
См. также readgzfile(), и gzopen().
string gzgetc
(int zp);Возвращает строку, содержащую один (несжатый) символ, читаемый из файла, определяемого переменной zp. Возвращает FALSE при достижении EOF (как это делает gzeof()).
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
См. также gzopen(), и gzgets().
string gzgets
(int zp, int length);Возвращает строку (не сжатую) длиной от начала файла до length-1 из файла , определяемого zp. Чтение заканчивается при достижении длины length-1, при начале новой строки или при EOF (что произойдет раньше).
При ошибке возвращает false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
См. также gzopen(), и gzgetc().
string gzgetss
(int zp, int length);Идентична gzgets(), кроме того, что gzgetss пытается обрезать любые HTML и PHP теги из считываемого текста.
См. также gzgets(), и gzopen().
int gzopen
(string filename, string mode);Открывает gzip (.gz) файл для чтения или записи. Параметр режима такой же как и у fopen() ("rb" или "wb"), но также может включать степень сжатия ("wb9"), или стратегию: 'f' для фильтрованных данных как в "wb6f", 'h' для компрессии только по Хаффману как в "wb1h" (См. описание deflateInit2 в zlib.h для более подробной информации и параметрах стратегии).
Gzopen может использоваться для чтения файла, который не в gzip формате. В этом случае gzread() будет напрямую читать из файла без декомпрессии.
Gzopen возвращает указатель на открытый файл, после чего все, что вы читаете из этого дескриптора файла будет декомпрессироваться, и все что вы записываете - сжиматься.
При ошибке в открытии файла функция вернет false.
Пример 1. gzopen() $fp = gzopen("/tmp/file.gz", "r"); |
См. также gzclose().
int gzpassthru
(int zp);Считывает все до EOF указателя gz-файла и выводит прочитанные данные (несжатые) в стандартный вывод.
Если произойдет ошибка, то функция вернет false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
gz-файл будет закрыт, когда gzpassthru() закончит его считывать (оставляя zp возможным для использования).
int gzputs
(int zp, string str, int [length]);gzputs() является псевдонимом для функции gzwrite(), и полностью ей идентична.
string gzread
(int zp, int length);gzread() читает length байтов из указателя gz-файла, определяемого zp. Чтение прекращается когда length байтов (несжатых) считываются или достигается EOF (что произойдет раньше).
// считывание содержимого gz-файла в строку $filename = "/usr/local/something.txt.gz"; $zd = gzopen( $filename, "r" ); $contents = gzread( $zd, 10000 ); gzclose( $zd );
См. также gzwrite(), gzopen(), gzgets(), gzgetss(), gzfile(), и gzpassthru().
int gzrewind
(int zp);Устанавливает индикатор позиции файла для zp на начало файлового потока.
При ошибке функция вернет 0.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
См. также gzseek() and gztell().
int gzseek
(int zp, int offset);Сдвигает индикатор позиции файла, определяемого параметром zp, на offset в файловом потоке. Еквивалентна вызову (в С) функции gzseek( zp, offset, SEEK_SET ).
Если файл открыт для чтения, то эта функция эмулируется, но может быть очень медленной. Если файл открыт для записи, то поддерживается только сдвиг вперед; gzseek затем сжимает последовательность нулей до новой начальной позиции.
В случае успеха функция возвращает 0, в обратном случае - 1. Следует отметить, что достижение EOF не рассматривается как ошибка.
См. также gztell() and gzrewind().
int gztell
(int zp);Возвращает позицию указателя файла, определяемого параметром zp, т.е. его положение в файловом потоке.
При ошибке возвращается false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией gzopen().
См. также gzopen(), gzseek() and gzrewind().
int readgzfile
(string filename);Считывает файл, распаковывает его и выводит в стандартный поток вывода.
Readgzfile() может использоваться для чтения файла, который не в формате gzip. В этом случае readgzfile() будет сразу считывать файл, без докомпрессии.
Функция возвращает число байтов (несжатых), считанных из файла. При ошибке возвращается false и, если функция не вызывалась как @readgzfile, будет выведено сообщение об ошибке.
Файл с именем filename будет открыт в файловой системе и его содержимое будет выведено в стандартный поток вывода.
См. также gzpassthru(), gzfile(), и gzopen().
int gzwrite
(int zp, string string, int [length]);gzwrite() записывает содержимое строки string в поток gz-файла, определяемый параметром zp. Если параметр length указан, то запись будет прекращена после того, как length байтов (несжатых) будет записано или будет достигнут конец строки string, что раньше произойдет.
Следует отметить, что если параметр length указан, то параметр настройки magic_quotes_runtime будет игнорирован и пробелы не будут урезаны в строке string.