Руководство по РНР 3.0 - Функции Gz-файлов
-
Содержание
- gzclose
- gzeof
- gzfile
- gzgetc
- gzgets
- gzgetss
- gzopen
- gzpassthru
- gzputs
- gzread
- gzrewind
- gzseek
- gztell
- readgzfile
- gzwrite
Этот модуль использует функции библиотеки zlib >= 1.0.9 (http://www.cdrom.com/pub/infozip/zlib/) авторов Jean-loup Gailly и Mark Adler для прозрачного чтения и записи в gzip (.gz) сжатые файлы.
gzclose
gzclose -- закрывает открытый указатель gz-файла
Описание
int gzclose
(int zp);
Закрывает gz-файл, указанный в переменной gz.
Возвращает true при успехе и false при ошибке.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый
функцией
gzopen().
gzeofgzeof -- проверяет достигнут ли конец файла указателя gz-файла
Описание
int gzeof
(int zp);
Возвращает true, если указатель gz-файла на метке EOF или произошла ошибка,
в обратном случае возвращает false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно открытый функцией
gzopen().
gzfilegzfile -- читает весь gz-файл в массив
Описание
array gzfile
(string filename);
Функция идентична readgzfile(), кроме того, что gzfile() возвращает файл в массив.
См. также readgzfile(), и
gzopen().
gzgetcgzgetc -- возвращает символ из указателя gz-файла
Описание
string gzgetc
(int zp);
Возвращает строку, содержащую один (несжатый) символ, читаемый из файла, определяемого переменной zp.
Возвращает FALSE при достижении EOF (как это делает gzeof()).
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно
открытый функцией gzopen().
См. также
gzopen(), и
gzgets().
gzgetsgzgets -- Считывает строку из указателя файла
Описание
string gzgets
(int zp, int length);
Возвращает строку (не сжатую) длиной от начала файла до length-1 из файла
, определяемого zp. Чтение заканчивается при достижении длины length-1, при
начале новой строки или при EOF (что произойдет раньше).
При ошибке возвращает false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно
открытый функцией gzopen().
См. также
gzopen(), и gzgetc().
gzgetssgzgetss -- Считывает строку из указателя файла и обрезает HTML-теги
Описание
string gzgetss
(int zp, int length);
Идентична gzgets(), кроме того, что gzgetss пытается обрезать любые HTML и PHP теги из считываемого текста.
См. также gzgets(), и gzopen().
gzopengzopen -- открывает gz-файл
Описание
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().
gzpassthrugzpassthru -- Выводит все оставшиеся данные в указателе gz-файла
Описание
int gzpassthru
(int zp);
Считывает все до EOF указателя gz-файла и выводит прочитанные данные (несжатые)
в стандартный вывод.
Если произойдет ошибка, то функция вернет false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно
открытый функцией gzopen().
gz-файл будет закрыт, когда gzpassthru() закончит его считывать (оставляя zp возможным для использования).
gzputsgzputs -- записывает в указатель gz-файла
Описание
int gzputs
(int zp, string str, int [
length]);
gzputs() является псевдонимом для функции
gzwrite(), и полностью ей идентична.
gzreadgzread -- Двоично-безопасное чтение из gz-файла
Описание
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().
gzrewindgzrewind -- перемешает позицию указателя gz-файла
Описание
int gzrewind
(int zp);
Устанавливает индикатор позиции файла для zp на начало файлового потока.
При ошибке функция вернет 0.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно
открытый функцией gzopen().
См. также gzseek() and gztell().
gzseekgzseek -- Сдвигает указатель gz-файла
Описание
int gzseek
(int zp, int offset);
Сдвигает индикатор позиции файла, определяемого параметром zp, на
offset в файловом потоке. Еквивалентна вызову (в С) функции
gzseek( zp, offset, SEEK_SET ).
Если файл открыт для чтения, то эта функция эмулируется, но может быть очень медленной.
Если файл открыт для записи, то поддерживается только сдвиг вперед; gzseek затем сжимает
последовательность нулей до новой начальной позиции.
В случае успеха функция возвращает 0, в обратном случае - 1.
Следует отметить, что достижение EOF не рассматривается как ошибка.
См. также gztell() and
gzrewind().
gztellgztell -- Возвращает позицию чтения/записи указателя gz-файла
Описание
int gztell
(int zp);
Возвращает позицию указателя файла, определяемого параметром zp, т.е.
его положение в файловом потоке.
При ошибке возвращается false.
Указатель gz-файла должен быть правильным, и должен указывать на файл, успешно
открытый функцией gzopen().
См. также gzopen(),
gzseek() and gzrewind().
readgzfilereadgzfile -- выводит gz-файл
Описание
int readgzfile
(string filename);
Считывает файл, распаковывает его и выводит в стандартный поток вывода.
Readgzfile() может использоваться для чтения файла, который не в формате gzip.
В этом случае readgzfile() будет сразу считывать файл, без докомпрессии.
Функция возвращает число байтов (несжатых), считанных из файла.
При ошибке возвращается false и, если функция не вызывалась как @readgzfile, будет
выведено сообщение об ошибке.
Файл с именем filename будет открыт в файловой системе и его содержимое будет выведено в стандартный поток вывода.
См. также gzpassthru(),
gzfile(), и gzopen().
gzwritegzwrite -- Двоично-безопасная запись gz-файла
Описание
int gzwrite
(int zp, string string, int [
length]);
gzwrite() записывает содержимое строки
string в поток gz-файла, определяемый параметром
zp. Если параметр length указан, то запись будет прекращена после того, как
length байтов (несжатых) будет записано или будет достигнут конец строки string, что раньше произойдет.
Следует отметить, что если параметр length указан, то параметр настройки
magic_quotes_runtime будет игнорирован и пробелы не будут урезаны в строке string.
См. также gzread(), gzopen(),
and gzputs().
Содержание