File: compress.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (119 lines) | stat: -rw-r--r-- 3,686 bytes parent folder | download
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="pharfileinfo.compress">
 <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>
   <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="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
-->