<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.pharfileinfo.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'pharfileinfo.compress.php',
    1 => 'PharFileInfo::compress',
    2 => 'Compresses the current Phar entry with either zlib or bzip2 compression',
  ),
  'up' => 
  array (
    0 => 'class.pharfileinfo.php',
    1 => 'PharFileInfo',
  ),
  'prev' => 
  array (
    0 => 'pharfileinfo.chmod.php',
    1 => 'PharFileInfo::chmod',
  ),
  'next' => 
  array (
    0 => 'pharfileinfo.construct.php',
    1 => 'PharFileInfo::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/phar/PharFileInfo/compress.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pharfileinfo.compress" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PharFileInfo::compress</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8, PECL phar &gt;= 2.0.0)</p><p class="refpurpose"><span class="refname">PharFileInfo::compress</span> &mdash; <span class="dc-title">Compresses the current Phar entry with either zlib or bzip2 compression</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-pharfileinfo.compress-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>PharFileInfo::compress</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$compression</code></span>): <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span></div>


  <p class="para rdfs-comment">
   This method compresses the file inside the Phar archive using either bzip2 compression
   or zlib compression.
   The <a href="ref.bzip2.php" class="link">bzip2</a> or <a href="ref.zlib.php" class="link">zlib</a>
   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 <a href="phar.configuration.php#ini.phar.readonly" class="link">phar.readonly</a> INI variable
   must be off in order to succeed if the file is within a <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>
   archive.  Files within <span class="classname"><a href="class.phardata.php" class="classname">PharData</a></span> archives do not have
   this restriction.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pharfileinfo.compress-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">compression</code></dt>
     <dd>
      <p class="para">
       Compression must be <strong><code><a href="phar.constants.php#phar.constants.gz">Phar::GZ</a></code></strong> or <strong><code><a href="phar.constants.php#phar.constants.bz2">Phar::BZ2</a></code></strong>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pharfileinfo.compress-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   总是返回 <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>。
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pharfileinfo.compress-errors">
  <h3 class="title">错误／异常</h3>
  <p class="para">
   Throws <span class="classname"><a href="class.badmethodcallexception.php" class="classname">BadMethodCallException</a></span> if
   the <a href="phar.configuration.php#ini.phar.readonly" class="link">phar.readonly</a>
   INI variable is on, or if the <a href="ref.bzip2.php" class="link">bzip2</a>/<a href="ref.zlib.php" class="link">zlib</a>
   extension is not available.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-pharfileinfo.compress-examples">
  <h3 class="title">示例</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>示例 #1 A <span class="function"><strong>PharFileInfo::compress()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">try {<br />    </span><span style="color: #0000BB">$p </span><span style="color: #007700">= new </span><span style="color: #0000BB">Phar</span><span style="color: #007700">(</span><span style="color: #DD0000">'/path/to/my.phar'</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #DD0000">'my.phar'</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$p</span><span style="color: #007700">[</span><span style="color: #DD0000">'myfile.txt'</span><span style="color: #007700">] = </span><span style="color: #DD0000">'hi'</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">$file </span><span style="color: #007700">= </span><span style="color: #0000BB">$p</span><span style="color: #007700">[</span><span style="color: #DD0000">'myfile.txt'</span><span style="color: #007700">];<br />    </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isCompressed</span><span style="color: #007700">(</span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">BZ2</span><span style="color: #007700">));<br />    </span><span style="color: #0000BB">$p</span><span style="color: #007700">[</span><span style="color: #DD0000">'myfile.txt'</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">compress</span><span style="color: #007700">(</span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">BZ2</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isCompressed</span><span style="color: #007700">(</span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">BZ2</span><span style="color: #007700">));<br />} catch (</span><span style="color: #0000BB">Exception $e</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">'Create/modify operations on my.phar failed: '</span><span style="color: #007700">, </span><span style="color: #0000BB">$e</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>以上示例会输出：</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">bool(false)
bool(true)</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-pharfileinfo.compress-seealso">
  <h3 class="title">参见</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="pharfileinfo.getcompressedsize.php" class="function" rel="rdfs-seeAlso">PharFileInfo::getCompressedSize()</a> - Returns the actual size of the file (with compression) inside the Phar archive</span></li>
    <li><span class="function"><a href="pharfileinfo.iscompressed.php" class="function" rel="rdfs-seeAlso">PharFileInfo::isCompressed()</a> - Returns whether the entry is compressed</span></li>
    <li><span class="function"><a href="pharfileinfo.decompress.php" class="function" rel="rdfs-seeAlso">PharFileInfo::decompress()</a> - Decompresses the current Phar entry within the phar</span></li>
    <li><span class="function"><a href="phar.cancompress.php" class="function" rel="rdfs-seeAlso">Phar::canCompress()</a> - Returns whether phar extension supports compression using either zlib or bzip2</span></li>
    <li><span class="function"><a href="phar.iscompressed.php" class="function" rel="rdfs-seeAlso">Phar::isCompressed()</a> - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)</span></li>
    <li><span class="function"><a href="phar.compressfiles.php" class="function" rel="rdfs-seeAlso">Phar::compressFiles()</a> - Compresses all files in the current Phar archive</span></li>
    <li><span class="function"><a href="phar.decompressfiles.php" class="function" rel="rdfs-seeAlso">Phar::decompressFiles()</a> - Decompresses all files in the current Phar archive</span></li>
    <li><span class="function"><a href="phar.compress.php" class="function" rel="rdfs-seeAlso">Phar::compress()</a> - Compresses the entire Phar archive using Gzip or Bzip2 compression</span></li>
    <li><span class="function"><a href="phar.decompress.php" class="function" rel="rdfs-seeAlso">Phar::decompress()</a> - Decompresses the entire Phar archive</span></li>
    <li><span class="function"><a href="phar.getsupportedcompression.php" class="function" rel="rdfs-seeAlso">Phar::getSupportedCompression()</a> - Return array of supported compression algorithms</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>