git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@255935 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Greg Beaver 2008-03-24 05:32:17 +00:00
parent 94346e89c9
commit 695bfb0360

View file

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="phar.compress">
<refnamediv>
<refname>Phar::compress</refname>
<refpurpose>Compresses the entire Phar archive using Gzip or Bzip2 compression</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>object</type><methodname>Phar::compress</methodname>
<methodparam><type>int</type><parameter>compression</parameter></methodparam>
</methodsynopsis>
&phar.write;
<para>
For tar-based abd phar-based phar archives, this method compresses the entire archive using
gzip compression or bzip2 compression. The resulting file can be processed with the
gunzip command/bunzip command, or accessed directly and transparently with the Phar
extension.
</para>
<para>
For Zip-based phar archives, this method fails with an exception.
The <link linkend="ref.zlib">zlib</link> extension must be enabled to compress
with gzip compression, the <link linkend="ref.bzip2">bzip2</link> extension must be
enabled in order to compress with bzip2 compression.
As with all functionality that modifies the contents of a phar, the
<link linkend="ini.phar.readonly">phar.readonly</link> INI variable must be off
in order to succeed.
</para>
<para>
In addition, this method automatically renames the archive, appending <literal>.gz</literal>,
<literal>.bz2</literal> or removing the extension if passed <literal>Phar::NONE</literal> to
remove compression.
</para>
<para>
A <classname>Phar</classname> or <classname>PharData</classname> object is returned
depending on whether the calling object is a <classname>Phar</classname> or
<classname>PharData</classname>.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Throws <classname>BadMethodCallException</classname> if
the <link linkend="ini.phar.readonly">phar.readonly</link>
INI variable is on, the <link linkend="ref.zlib">zlib</link>
extension is not available, or the <link linkend="ref.bzip2">bzip2</link> extension
is not enabled.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>Phar::compress</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PharFileInfo::getCompressedSize</function></member>
<member><function>PharFileInfo::isCompressedBZIP2</function></member>
<member><function>PharFileInfo::isCompressed</function></member>
<member><function>PharFileInfo::isCompressedGZ</function></member>
<member><function>PharFileInfo::setCompressedBZIP2</function></member>
<member><function>PharFileInfo::setUncompressed</function></member>
<member><function>PharFileInfo::setCompressedGZ</function></member>
<member><function>Phar::canCompress</function></member>
<member><function>Phar::isCompressed</function></member>
<member><function>Phar::compressAllFilesBZIP2</function></member>
<member><function>Phar::getSupportedCompression</function></member>
<member><function>Phar::uncompressAllFiles</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->