mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 17:08:54 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@126172 c90b9560-bf6c-de11-be94-00142212c4b1
812 lines
27 KiB
XML
812 lines
27 KiB
XML
<!-- D O N O T E D I T T H I S F I L E ! ! !
|
|
|
|
it is still here for historical reasons only
|
|
(as translators may need to check old revision diffs)
|
|
|
|
if you want to change things documented in this file
|
|
you should now edit the files found under en/reference
|
|
instead -->
|
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.28 $ -->
|
|
<reference id="ref.zlib">
|
|
<title>Zlib Compression Functions</title>
|
|
<titleabbrev>Zlib</titleabbrev>
|
|
<partintro>
|
|
<para>
|
|
This module uses the functions of <ulink
|
|
url="&url.zlib;">zlib</ulink> by Jean-loup Gailly and Mark Adler to
|
|
transparently read and write gzip (.gz) compressed files. You have
|
|
to use a zlib version >= 1.0.9 with this module.
|
|
</para>
|
|
<para>
|
|
This module contains versions of most of the <link
|
|
linkend="ref.filesystem">filesystem</link> functions which work
|
|
with gzip-compressed files (and uncompressed files, too, but not
|
|
with sockets).
|
|
</para>
|
|
<note>
|
|
<para>
|
|
Version 4.0.4 introduces a fopen-wrapper for .gz-files, so that
|
|
you can use a special 'zlib:' URL to access compressed files
|
|
transparently using the normal f*() file access functions if you
|
|
prepend the filename or path with a 'zlib:' prefix when calling
|
|
<function>fopen</function>.
|
|
</para>
|
|
<para>
|
|
In version 4.3.0, this special prefix has been changed to 'zlib://'
|
|
to prevent ambiguities with filenames containing ':'.
|
|
</para>
|
|
<para>
|
|
This feature requires a C runtime library that provides the
|
|
<literal>fopencookie()</literal> function. To my current
|
|
knowledge the GNU libc is the only library that provides
|
|
this feature.
|
|
</para>
|
|
</note>
|
|
|
|
<sect1 id="zlib-example">
|
|
<title>Small code example</title>
|
|
<para>
|
|
Opens a temporary file and writes a test string to it, then it
|
|
prints out the content of this file twice.
|
|
</para>
|
|
<example>
|
|
<title>Small Zlib Example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
$filename = tempnam ('/tmp', 'zlibtest').'.gz';
|
|
print "<html>\n<head></head>\n<body>\n<pre>\n";
|
|
$s = "Only a test, test, test, test, test, test, test, test!\n";
|
|
|
|
// open file for writing with maximum compression
|
|
$zp = gzopen($filename, "w9");
|
|
|
|
// write string to file
|
|
gzwrite($zp, $s);
|
|
|
|
// close file
|
|
gzclose($zp);
|
|
|
|
// open file for reading
|
|
$zp = gzopen($filename, "r");
|
|
|
|
// read 3 char
|
|
print gzread($zp, 3);
|
|
|
|
// output until end of the file and close it.
|
|
gzpassthru($zp);
|
|
|
|
print "\n";
|
|
|
|
// open file and print content (the 2nd time).
|
|
if (readgzfile($filename) != strlen($s)) {
|
|
echo "Error with zlib functions!";
|
|
}
|
|
unlink($filename);
|
|
print "</pre>\n</h1></body>\n</html>\n";
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</sect1>
|
|
</partintro>
|
|
|
|
<refentry id="function.gzclose">
|
|
<refnamediv>
|
|
<refname>gzclose</refname>
|
|
<refpurpose>Close an open gz-file pointer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzclose</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
The gz-file pointed to by zp is closed.
|
|
</para>
|
|
<para>
|
|
Returns &true; on success and &false; on failure.
|
|
</para>
|
|
<para>
|
|
The gz-file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
</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>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzeof</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Returns &true; if the gz-file pointer is at EOF or an error occurs;
|
|
otherwise returns &false;.
|
|
</para>
|
|
<para>
|
|
The gz-file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzfile">
|
|
<refnamediv>
|
|
<refname>gzfile</refname>
|
|
<refpurpose>Read entire gz-file into an array</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>array</type><methodname>gzfile</methodname>
|
|
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Identical to <function>readgzfile</function>, except that
|
|
<function>gzfile</function> returns the file in an array.
|
|
</para>
|
|
<para>
|
|
You can use the optional second parameter and set it to "1", if
|
|
you want to search for the file in the <link
|
|
linkend="ini.include-path">include_path</link>, too.
|
|
</para>
|
|
<para>
|
|
See also <function>readgzfile</function>, and
|
|
<function>gzopen</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzgetc">
|
|
<refnamediv>
|
|
<refname>gzgetc</refname>
|
|
<refpurpose>Get character from gz-file pointer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzgetc</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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>
|
|
<para>
|
|
The gz-file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzopen</function>, and
|
|
<function>gzgets</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzgets">
|
|
<refnamediv>
|
|
<refname>gzgets</refname>
|
|
<refpurpose>Get line from file pointer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzgets</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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>
|
|
<para>
|
|
If an error occurs, returns &false;.
|
|
</para>
|
|
<para>
|
|
The file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzopen</function>,
|
|
<function>gzgetc</function>, and <function>fgets</function>.
|
|
</para>
|
|
</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>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzgetss</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>length</parameter></methodparam>
|
|
<methodparam choice="opt"><type>string</type><parameter>allowable_tags</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Identical to <function>gzgets</function>, except that
|
|
<function>gzgetss</function> attempts to strip any HTML and PHP
|
|
tags from the text it reads.
|
|
</para>
|
|
<para>
|
|
You can use the optional third parameter to specify tags which
|
|
should not be stripped.
|
|
<note>
|
|
<para>
|
|
<parameter>Allowable_tags</parameter> was added in PHP 3.0.13,
|
|
PHP4B3.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
<para>
|
|
See also <function>gzgets</function>,
|
|
<function>gzopen</function>, and <function>strip_tags</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzopen">
|
|
<refnamediv>
|
|
<refname>gzopen</refname>
|
|
<refpurpose>Open gz-file</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzopen</methodname>
|
|
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>mode</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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>
|
|
<para>
|
|
<function>gzopen</function> 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>
|
|
<para>
|
|
<function>gzopen</function> 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>
|
|
<para>
|
|
If the open fails, the function returns &false;.
|
|
</para>
|
|
<para>
|
|
You can use the optional third parameter and set it to "1", if
|
|
you want to search for the file in the <link
|
|
linkend="ini.include-path">include_path</link>, too.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title><function>gzopen</function> Example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$fp = gzopen ("/tmp/file.gz", "r");
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
See also <function>gzclose</function>.
|
|
</para>
|
|
</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>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzpassthru</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Reads to EOF on the given gz-file pointer and writes the
|
|
(uncompressed) results to standard output.
|
|
</para>
|
|
<para>
|
|
If an error occurs, returns &false;.
|
|
</para>
|
|
<para>
|
|
The file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
<para>
|
|
The gz-file is closed when <function>gzpassthru</function> is
|
|
done reading it (leaving <parameter>zp</parameter> useless).
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzputs">
|
|
<refnamediv>
|
|
<refname>gzputs</refname>
|
|
<refpurpose>Write to a gz-file pointer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzputs</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>str</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>gzputs</function> is an alias to
|
|
<function>gzwrite</function>, and is identical in every way.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzread">
|
|
<refnamediv>
|
|
<refname>gzread</refname>
|
|
<refpurpose>Binary-safe gz-file read</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzread</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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.
|
|
</simpara>
|
|
<para>
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
// 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>
|
|
</para>
|
|
<simpara>
|
|
See also <function>gzwrite</function>, <function>gzopen</function>,
|
|
<function>gzgets</function>, <function>gzgetss</function>,
|
|
<function>gzfile</function>, and <function>gzpassthru</function>.
|
|
</simpara>
|
|
</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>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzrewind</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Sets the file position indicator for zp to the beginning of the
|
|
file stream.
|
|
</para>
|
|
<para>
|
|
If an error occurs, returns 0.
|
|
</para>
|
|
<para>
|
|
The file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzseek</function> and
|
|
<function>gztell</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzseek">
|
|
<refnamediv>
|
|
<refname>gzseek</refname>
|
|
<refpurpose>Seek on a gz-file pointer</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzseek</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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>
|
|
<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>
|
|
<para>
|
|
Upon success, returns 0; otherwise, returns -1. Note that seeking
|
|
past EOF is not considered an error.
|
|
</para>
|
|
<para>
|
|
See also <function>gztell</function> and
|
|
<function>gzrewind</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gztell">
|
|
<refnamediv>
|
|
<refname>gztell</refname>
|
|
<refpurpose>Tell gz-file pointer read/write position</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gztell</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Returns the position of the file pointer referenced by
|
|
<parameter>zp</parameter>; i.e., its offset into the file
|
|
stream.
|
|
</para>
|
|
<para>
|
|
If an error occurs, returns &false;.
|
|
</para>
|
|
<para>
|
|
The file pointer must be valid, and must point to a file
|
|
successfully opened by <function>gzopen</function>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzopen</function>, <function>gzseek</function>
|
|
and <function>gzrewind</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzwrite">
|
|
<refnamediv>
|
|
<refname>gzwrite</refname>
|
|
<refpurpose>Binary-safe gz-file write</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>gzwrite</methodname>
|
|
<methodparam><type>int</type><parameter>zp</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>string</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<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>
|
|
<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>
|
|
<simpara>
|
|
See also <function>gzread</function>, <function>gzopen</function>,
|
|
and <function>gzputs</function>.
|
|
</simpara>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.readgzfile">
|
|
<refnamediv>
|
|
<refname>readgzfile</refname>
|
|
<refpurpose>Output a gz-file</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>int</type><methodname>readgzfile</methodname>
|
|
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Reads a file, decompresses it and writes it to standard
|
|
output.
|
|
</para>
|
|
<para>
|
|
<function>readgzfile</function> can be used to read a file which
|
|
is not in gzip format; in this case
|
|
<function>readgzfile</function> will directly read from the file
|
|
without decompression.
|
|
</para>
|
|
<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 <literal>@readgzfile</literal>, an error message is
|
|
printed.
|
|
</para>
|
|
<para>
|
|
The file <parameter>filename</parameter> will be opened from the
|
|
filesystem and its contents written to standard output.
|
|
</para>
|
|
<para>
|
|
You can use the optional second parameter and set it to "1", if
|
|
you want to search for the file in the <link
|
|
linkend="ini.include-path">include_path</link>, too.
|
|
</para>
|
|
<para>
|
|
See also <function>gzpassthru</function>,
|
|
<function>gzfile</function>, and <function>gzopen</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzcompress">
|
|
<refnamediv>
|
|
<refname>gzcompress</refname>
|
|
<refpurpose>Compress a string</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzcompress</methodname>
|
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>level</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
This function returns a compressed version of the input
|
|
<parameter>data</parameter> using the ZLIB data format,
|
|
or &false; if an error is encountered. The optional parameter
|
|
<parameter>level</parameter> can be given as 0 for no
|
|
compression up to 9 for maximum compression.
|
|
</para>
|
|
<para>
|
|
For details on the ZLIB compression algorithm see the document
|
|
"<ulink url="&url.rfc;1950">ZLIB Compressed Data Format
|
|
Specification version 3.3</ulink>" (RFC 1950).
|
|
</para>
|
|
<note>
|
|
<para>
|
|
This is <emphasis>not</emphasis> the same as gzip compression,
|
|
which includes some header data. See <function>gzencode</function>
|
|
for gzip compression.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
See also <function>gzdeflate</function>,
|
|
<function>gzinflate</function>,
|
|
<function>gzuncompress</function>,
|
|
<function>gzencode</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzuncompress">
|
|
<refnamediv>
|
|
<refname>gzuncompress</refname>
|
|
<refpurpose>Uncompress a deflated string</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzuncompress</methodname>
|
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
This function takes <parameter>data</parameter> compressed by
|
|
<function>gzcompress</function> and returns the original
|
|
uncompressed data or &false; on error. The function will return an
|
|
error if the uncompressed data is more than 256 times the length
|
|
of the compressed input <parameter>data</parameter> or more than
|
|
the optional parameter <parameter>length</parameter>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzdeflate</function>,
|
|
<function>gzinflate</function>,
|
|
<function>gzcompress</function>,
|
|
<function>gzencode</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzdeflate">
|
|
<refnamediv>
|
|
<refname>gzdeflate</refname>
|
|
<refpurpose>Deflate a string</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzdeflate</methodname>
|
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>level</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
This function returns a compressed version of the input
|
|
<parameter>data</parameter> using the DEFLATE data format,
|
|
or &false; if an error is encountered. The optional parameter
|
|
<parameter>level</parameter> can be given as 0 for no
|
|
compression up to 9 for maximum compression.
|
|
</para>
|
|
<para>
|
|
For details on the DEFLATE compression algorithm see the document
|
|
"<ulink url="&url.rfc;1951">DEFLATE Compressed Data Format
|
|
Specification version 1.3</ulink>" (RFC 1951).
|
|
</para>
|
|
<para>
|
|
See also
|
|
<function>gzinflate</function>,
|
|
<function>gzcompress</function>,
|
|
<function>gzuncompress</function>,
|
|
<function>gzencode</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzinflate">
|
|
<refnamediv>
|
|
<refname>gzinflate</refname>
|
|
<refpurpose>Inflate a deflated string</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzinflate</methodname>
|
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
This function takes <parameter>data</parameter> compressed by
|
|
<function>gzdeflate</function> and returns the original
|
|
uncompressed data or &false; on error. The function will return an
|
|
error if the uncompressed data is more than 256 times the length
|
|
of the compressed input <parameter>data</parameter> or more than
|
|
the optional parameter <parameter>length</parameter>.
|
|
</para>
|
|
<para>
|
|
See also <function>gzcompress</function>.
|
|
<function>gzuncompress</function>,
|
|
<function>gzdeflate</function>,
|
|
<function>gzencode</function>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<refentry id="function.gzencode">
|
|
<refnamediv>
|
|
<refname>gzencode</refname>
|
|
<refpurpose>Create a gzip compressed string</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>gzencode</methodname>
|
|
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>level</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>encoding_mode</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
This function returns a compressed version of the input
|
|
<parameter>data</parameter> compatible with the output of the
|
|
<command>gzip</command> program, or &false; if an error is
|
|
encountered. The optional parameter <parameter>level</parameter>
|
|
can be given as 0 for no compression up to 9 for maximum
|
|
compression, if not given the default compression level will be
|
|
the default compression level of the zlib library.
|
|
</para>
|
|
<para>
|
|
You can also give <constant>FORCE_GZIP</constant> (the default)
|
|
or <constant>FORCE_DEFLATE</constant> as optional third paramter
|
|
<parameter>encoding_mode</parameter>. If you use
|
|
<constant>FORCE_DEFLATE</constant>, you get a standard zlib
|
|
deflated string (inclusive zlib headers) after the gzip file
|
|
header but without the trailing crc32 checksum.
|
|
<note>
|
|
<para>
|
|
<parameter>level</parameter> was added in PHP 4.2, before PHP
|
|
4.2 <function>gzencode</function> only had the
|
|
<parameter>data</parameter> and (optional)
|
|
<parameter>encoding_mode</parameter> parameters..
|
|
</para>
|
|
</note>
|
|
</para>
|
|
<para>
|
|
The resulting data contains the appropriate headers and data
|
|
structure to make a standard .gz file, e.g.:
|
|
<example>
|
|
<title>Creating a gzip file</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$data = implode("", file("bigfile.txt"));
|
|
$gzdata = gzencode($data, 9);
|
|
$fp = fopen("bigfile.txt.gz", "w");
|
|
fwrite($fp, $gzdata);
|
|
fclose($fp);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
For more information on the GZIP file format, see the document:
|
|
<ulink url="&url.rfc;1952">GZIP file format specification
|
|
version 4.3</ulink> (RFC 1952).
|
|
</para>
|
|
<para>
|
|
See also <function>gzcompress</function>.
|
|
<function>gzuncompress</function>,
|
|
<function>gzdeflate</function>,
|
|
<function>gzinflate</function>.
|
|
</para>
|
|
</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
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|