/
compress.xml
134 lines (127 loc) · 4 KB
/
compress.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?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
-->