php-doc-en/functions/zlib.sgml
James Gingerich 82c6591284 Many minor cleanups.
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@9864 c90b9560-bf6c-de11-be94-00142212c4b1
1999-06-20 03:04:56 +00:00

470 lines
14 KiB
Text

<reference id="ref.zlib">
<title>Compression functions</title>
<titleabbrev>Zlib</titleabbrev>
<partintro>
<para>
This module uses the functions of zlib (<ulink
url="http://www.cdrom.com/pub/infozip/zlib/">http://www.cdrom.com/pub/infozip/zlib/</ulink>)
by Jean-loup Gailly and Mark Adler to transparently read and write gzip
(.gz) compressed files.
</partintro>
<refentry id="function.gzclose">
<refnamediv>
<refname>gzclose</refname>
<refpurpose>close an open gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzclose</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para>
The gz-file pointed to by zp is closed.
<para>
Returns true on success and false on failure.
<para>
The gz-file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
</refsect1>
</refentry>
<refentry id="function.gzeof">
<refnamediv>
<refname>gzeof</refname>
<refpurpose>test for end-of-file on a gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzeof</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para>
Returns true if the gz-file pointer is at EOF or an error occurs;
otherwise returns false.
<para>
The gz-file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
</refsect1>
</refentry>
<refentry id="function.gzfile">
<refnamediv>
<refname>gzfile</refname> <refpurpose>read entire gz-file into an
array</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>array <function>gzfile</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcsynopsis>
<para> Identical to <function>readgzfile</function>, except that gzfile()
returns the file in an array.
<para> See also <function>readgzfile</function>, and
<function>gzopen</function>.
</refsect1>
</refentry>
<refentry id="function.gzgetc">
<refnamediv>
<refname>gzgetc</refname>
<refpurpose>get character from gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>string <function>gzgetc</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para>
Returns a string containing a single (uncompressed) character
read from the file pointed to by zp. Returns FALSE on EOF (as
does <function>gzeof</function>).
<para>
The gz-file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
<para> See also
<function>gzopen</function>, and
<function>gzgets</function>.
</refsect1>
</refentry>
<refentry id="function.gzgets">
<refnamediv>
<refname>gzgets</refname>
<refpurpose>get line from file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>string <function>gzgets</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>int <parameter>length</parameter></paramdef>
</funcsynopsis>
<para>
Returns a (uncompressed) string of up to length - 1 bytes read
from the file pointed to by fp. Reading ends when length - 1
bytes have been read, on a newline, or on EOF (whichever comes
first).
<para> If an error occurs, returns false.
<para> The file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
<para> See also
<function>gzopen</function>, and <function>gzgetc</function>.
</refsect1>
</refentry>
<refentry id="function.gzgetss">
<refnamediv>
<refname>gzgetss</refname>
<refpurpose>get line from gz-file pointer and strip HTML tags</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>string <function>gzgetss</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>int <parameter>length</parameter></paramdef>
</funcsynopsis>
<para>
Identical to <function>gzgets</function>,
except that gzgetss attempts to strip any HTML and PHP tags from
the text it reads.
<para>
See also <function>gzgets</function>, and <function>gzopen</function>.
</refsect1>
</refentry>
<refentry id="function.gzopen">
<refnamediv>
<refname>gzopen</refname>
<refpurpose>open gz-file</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzopen</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
<paramdef>string <parameter>mode</parameter></paramdef>
</funcsynopsis>
<para>
Opens a gzip (.gz) file for reading or writing. The mode
parameter is as in <function>fopen</function> ("rb" or "wb") but
can also include a compression level ("wb9") or a strategy: 'f'
for filtered data as in "wb6f", 'h' for Huffman only compression
as in "wb1h". (See the description of deflateInit2 in zlib.h for
more information about the strategy parameter.)
<para>
Gzopen can be used to read a file which is not in gzip format; in
this case <function>gzread</function> will directly read from the
file without decompression.
<para>
Gzopen returns a file pointer to the file opened, after that,
everything you read from this file descriptor will be
transparently decompressed and what you write gets compressed.
<para>
If the open fails, the function returns false.
<para><example>
<title>gzopen() example</title>
<programlisting>
$fp = gzopen("/tmp/file.gz", "r");
</programlisting></example>
<para>
See also <function>gzclose</function>.
</refsect1>
</refentry>
<refentry id="function.gzpassthru">
<refnamediv>
<refname>gzpassthru</refname>
<refpurpose>output all remaining data on a gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzpassthru</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para>
Reads to EOF on the given gz-file pointer and writes the
(uncompressed) results to standard output.
<para>
If an error occurs, returns false.
<para>
The file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
<para>
The gz-file is closed when <function>gzpassthru</function> is
done reading it (leaving <parameter>zp</parameter> useless).
</refsect1>
</refentry>
<refentry id="function.gzputs">
<refnamediv>
<refname>gzputs</refname>
<refpurpose>write to a gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzputs</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>string <parameter>str</parameter></paramdef>
<paramdef>int <parameter><optional>length</optional></parameter></paramdef>
</funcsynopsis>
<para>
<function>gzputs</function> is an alias to
<function>gzwrite</function>, and is identical in every way.
</refsect1>
</refentry>
<refentry id="function.gzread">
<refnamediv>
<refname>gzread</refname>
<refpurpose>Binary-safe gz-file read</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>string <function>gzread</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>int <parameter>length</parameter></paramdef>
</funcsynopsis>
<simpara>
<function>gzread</function> reads up to
<parameter>length</parameter> bytes from the gz-file pointer
referenced by <parameter>zp</parameter>. Reading stops when
<parameter>length</parameter> (uncompressed) bytes have been read
or EOF is reached, whichever comes first.
<para>
<informalexample>
<programlisting>
// get contents of a gz-file into a string
$filename = "/usr/local/something.txt.gz";
$zd = gzopen( $filename, "r" );
$contents = gzread( $zd, 10000 );
gzclose( $zd );
</programlisting>
</informalexample>
<simpara>
See also <function>gzwrite</function>, <function>gzopen</function>,
<function>gzgets</function>, <function>gzgetss</function>,
<function>gzfile</function>, and <function>gzpassthru</function>.
</refsect1>
</refentry>
<refentry id="function.gzrewind">
<refnamediv>
<refname>gzrewind</refname>
<refpurpose>rewind the position of a gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzrewind</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para> Sets the file position indicator for zp to the
beginning of the file stream.
<para> If an error occurs, returns 0.
<para> The file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
<para>
See also <function>gzseek</function> and <function>gztell</function>.
</refsect1>
</refentry>
<refentry id="function.gzseek">
<refnamediv>
<refname>gzseek</refname>
<refpurpose>seek on a gz-file pointer</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzseek</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>int <parameter>offset</parameter></paramdef>
</funcsynopsis>
<para>
Sets the file position indicator for the file referenced by zp to
offset bytes into the file stream. Equivalent to calling (in C)
<literal>gzseek( zp, offset, SEEK_SET )</literal>.
<para>
If the file is opened for reading, this function is emulated but
can be extremely slow. If the file is opened for writing, only
forward seeks are supported; gzseek then compresses a sequence of
zeroes up to the new starting position.
<para>
Upon success, returns 0; otherwise, returns -1. Note that seeking
past EOF is not considered an error.
<para>
See also <function>gztell</function> and
<function>gzrewind</function>.
</refsect1>
</refentry>
<refentry id="function.gztell">
<refnamediv>
<refname>gztell</refname>
<refpurpose>tell gz-file pointer read/write position</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gztell</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
</funcsynopsis>
<para>
Returns the position of the file pointer referenced by zp; i.e.,
its offset into the file stream.
<para>
If an error occurs, returns false.
<para>
The file pointer must be valid, and must point to a file
successfully opened by <function>gzopen</function>.
<para> See also <function>gzopen</function>,
<function>gzseek</function> and <function>gzrewind</function>.
</refsect1>
</refentry>
<refentry id="function.readgzfile">
<refnamediv>
<refname>readgzfile</refname>
<refpurpose>output a gz-file</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>readgzfile</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcsynopsis>
<para> Reads a file, decompresses it and writes it to standard
output.
<para>
Readgzfile() can be used to read a file which is not in gzip
format; in this case readgzfile() will directly read from the
file without decompression.
<para> Returns the number of (uncompressed) bytes read from the
file. If an error occurs, false is returned and unless the
function was called as @readgzfile, an error message is printed.
<para> The file <parameter>filename</parameter> will be opened
from the filesystem and its contents written to standard output.
<para>
See also <function>gzpassthru</function>,
<function>gzfile</function>, and <function>gzopen</function>.
</refsect1>
</refentry>
<refentry id="function.gzwrite">
<refnamediv>
<refname>gzwrite</refname>
<refpurpose>Binary-safe gz-file write</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>gzwrite</function></funcdef>
<paramdef>int <parameter>zp</parameter></paramdef>
<paramdef>string <parameter>string</parameter></paramdef>
<paramdef>int <parameter><optional>length</optional></parameter></paramdef>
</funcsynopsis>
<simpara>
<function>gzwrite</function> writes the contents of
<parameter>string</parameter> to the gz-file stream pointed to by
<parameter>zp</parameter>. If the <parameter>length</parameter>
argument is given, writing will stop after
<parameter>length</parameter> (uncompressed) bytes have been
written or the end of <parameter>string</parameter> is reached,
whichever comes first.
<simpara>
Note that if the <parameter>length</parameter> argument is given,
then the <link
linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>
configuration option will be ignored and no slashes will be
stripped from <parameter>string</parameter>.
<simpara>
See also <function>gzread</function>, <function>gzopen</function>,
and <function>gzputs</function>.
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->