1
0
mirror of https://github.com/php/doc-en.git synced 2026-04-28 01:33:12 +02:00
Files
archived-doc-en/reference/phar/PharFileInfo/compress.xml
T
2022-12-13 09:21:59 +01:00

135 lines
4.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="pharfileinfo.compress" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>PharFileInfo::compress</refname>
<refpurpose>Compresses the current Phar entry with either zlib or bzip2 compression</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="PharFileInfo">
<modifier>public</modifier> <type>bool</type><methodname>PharFileInfo::compress</methodname>
<methodparam><type>int</type><parameter>compression</parameter></methodparam>
</methodsynopsis>
<para>
This method compresses the file inside the Phar archive using either bzip2 compression
or zlib compression.
The <link linkend="ref.bzip2">bzip2</link> or <link linkend="ref.zlib">zlib</link>
extension must be enabled to take
advantage of this feature. In addition, if the file is already compressed,
the respective extension must be enabled in order
to decompress the file. 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 if the file is within a <classname>Phar</classname>
archive. Files within <classname>PharData</classname> archives do not have
this restriction.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>compression</parameter></term>
<listitem>
<para>
Compression must be <constant>Phar::GZ</constant> or <constant>Phar::BZ2</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</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, or if the <link linkend="ref.bzip2">bzip2</link>/<link
linkend="ref.zlib">zlib</link>
extension is not available.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>PharFileInfo::compress</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
var_dump($file->isCompressed(Phar::BZ2));
$p['myfile.txt']->compress(Phar::BZ2);
var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo 'Create/modify operations on my.phar failed: ', $e;
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
bool(false)
bool(true)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PharFileInfo::getCompressedSize</function></member>
<member><function>PharFileInfo::isCompressed</function></member>
<member><function>PharFileInfo::decompress</function></member>
<member><function>Phar::canCompress</function></member>
<member><function>Phar::isCompressed</function></member>
<member><function>Phar::compressFiles</function></member>
<member><function>Phar::decompressFiles</function></member>
<member><function>Phar::compress</function></member>
<member><function>Phar::decompress</function></member>
<member><function>Phar::getSupportedCompression</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:"~/.phpdoc/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
-->