PHP: gzopen - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

gzpassthru gzinflate

Last updated: Sat, 27 Jan 2007

view this page in

# gzopen

(PHP 3, PHP 4, PHP 5)

gzopen -- Открывает gz-файл

## Описание

resource gzopen ( string filename, string mode [, int use_include_path] )

Открывает файл gzip (.gz) для чтение или записи.

gzopen() также можно использовать для несжатых файлов (т.е. не в формате gzip); в этом случае gzread() вернёт файл напрямую, без какой-либо обработки.

## Список параметров

`filename`

  Имя файла.

`mode`

  К в fopen() (`rb` или `wb`), но также может включать уровень сжатия (`wb9`) или стратегию: `f` для фильтрации данных как в `wb6f`, `h` для `Huffman only compression` как в `wb1h` (см. описание deflateInit2 в `zlib.h`).

`use_include_path`

  Если вы хотите, чтобы файл также искался в директориях include_path, установите значение этого аргумента в `1`.

## Возвращаемые значения

Возвращает указатель на открытый файл, после чего всё, что вы читаете из этого дескриптора, будет автоматически распаковываться, а всё, что вы записываете - упаковываться.

В случае ошибки функция возвращает `FALSE`.

## Примеры

Пример 1. Пример использования gzopen()

`<?php $fp = gzopen("/tmp/file.gz", "r"); ?>`

## Смотрите также

gzclose()

add a note User Contributed Notes
gzopen
rob at digital-crocus dot com
01-Jun-2005 05:28
`dtorop932 at hotmail dot com's comments, according to my tests, is incorrect. That code wishes to download the entire file before parsing, which is inconvinient. The wget method works though.`
pentek_imre at mailbox dot hu
29-Jan-2005 10:36
`Be aware that when opening a remote file on a http server the gzopen will return by default false after 120 seconds waiting to any answer.`
dtorop932 at hotmail dot com
21-Oct-2004 12:04
`RE dubious's comment: "Being able to read gzip streams from ftp and http is near the top of my personal wishlist at the moment..."
One way to read a gzip stream over http is to daisychain stream wrappers, e.g.:
<?
$fp = fopen("compress.zlib://http://some.website.org/example.gz", "r");
?>`
-delete-this-part-dubious at 2xtreme dot net
02-Jan-2002 07:22
`"On the fly" gunzipping actually DOES seem to work - it just appears that only LOCAL streams/files (including php://stdin) can be accessed for some reason. I THINK (but have not yet tested) that you could similarly gzopen "php://stdout" and pass a stream of gzipped data to the browser (when run from a web page) or console (when run standalone) through there.
I HAVE tested scripts from the command line like:
wget -q -O- ftp://some.host.net/pub/some_gzip_file.gz | php gunzip_stuff.php
where gunzip_stuff.php would be a script that gzopened "php://stdin" and did gzgets from that stream, and it seems to work fine, but that obviously doesn't help someone wanting to grab gzipped streams from remote sites from a web-based script.
Being able to read gzip streams from ftp and http is near the top of my personal wishlist at the moment...`
add a note
gzpassthru gzinflate

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST