cvs: phpdoc /en/reference/phar fileformat.xml ini.xml reference.xml using.xml /en/reference/phar/functions phar-begin.xml phar-cancompress.xml
phar-commit.xml phar-compressallfilesbzip2.xml phar-compressallfilesgz.xml phar-getversion.xml phar-isflushingtophar.xml phar-loadphar.xml
phar-mapphar.xml phar-offsetexists.xml phar-offsetget.xml phar-offsetset.xml phar-offsetunset.xml phar-setmetadata.xml phar-setstub.xml
phar-uncompressallfiles.xml pharfileinfo-chmod.xml pharfileinfo-construct.xml pharfileinfo-getcompressedsize.xml pharfileinfo-getcrc32.xml
pharfileinfo-getmetadata.xml pharfileinfo-getpharflags.xml pharfileinfo-iscompressed.xml pharfileinfo-iscompressedbzip2.xml
pharfileinfo-iscompressedgz.xml pharfileinfo-iscrcchecked.xml pharfileinfo-setcompressedbzip2.xml pharfileinfo-setcompressedgz.xml
pharfileinfo-setmetadata.xml pharfileinfo-setuncompressed.xml

From: Date: Tue, 06 Feb 2007 05:46:41 +0000
Subject: cvs: phpdoc /en/reference/phar fileformat.xml ini.xml reference.xml using.xml /en/reference/phar/functions phar-begin.xml phar-cancompress.xml
phar-commit.xml phar-compressallfilesbzip2.xml phar-compressallfilesgz.xml phar-getversion.xml phar-isflushingtophar.xml phar-loadphar.xml
phar-mapphar.xml phar-offsetexists.xml phar-offsetget.xml phar-offsetset.xml phar-offsetunset.xml phar-setmetadata.xml phar-setstub.xml
phar-uncompressallfiles.xml pharfileinfo-chmod.xml pharfileinfo-construct.xml pharfileinfo-getcompressedsize.xml pharfileinfo-getcrc32.xml
pharfileinfo-getmetadata.xml pharfileinfo-getpharflags.xml pharfileinfo-iscompressed.xml pharfileinfo-iscompressedbzip2.xml
pharfileinfo-iscompressedgz.xml pharfileinfo-iscrcchecked.xml pharfileinfo-setcompressedbzip2.xml pharfileinfo-setcompressedgz.xml
pharfileinfo-setmetadata.xml pharfileinfo-setuncompressed.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969375321@lists.php.net to get a copy of this message
cellog Tue Feb 6 05:46:41 2007 UTC Added files: /phpdoc/en/reference/phar/functions pharfileinfo-chmod.xml Modified files: /phpdoc/en/reference/phar fileformat.xml ini.xml reference.xml using.xml /phpdoc/en/reference/phar/functions phar-begin.xml phar-cancompress.xml phar-commit.xml phar-compressallfilesbzip2.xml phar-compressallfilesgz.xml phar-getversion.xml phar-isflushingtophar.xml phar-loadphar.xml phar-mapphar.xml phar-offsetexists.xml phar-offsetget.xml phar-offsetset.xml phar-offsetunset.xml phar-setmetadata.xml phar-setstub.xml phar-uncompressallfiles.xml pharfileinfo-construct.xml pharfileinfo-getcompressedsize.xml pharfileinfo-getcrc32.xml pharfileinfo-getmetadata.xml pharfileinfo-getpharflags.xml pharfileinfo-iscompressed.xml pharfileinfo-iscompressedbzip2.xml pharfileinfo-iscompressedgz.xml pharfileinfo-iscrcchecked.xml pharfileinfo-setcompressedbzip2.xml pharfileinfo-setcompressedgz.xml pharfileinfo-setmetadata.xml pharfileinfo-setuncompressed.xml Log: major update of all phar docs: fix numerous small errors fix missing documentation or large omissions update references to API version to 1.0.0 add PharFileInfo->chmod()

http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/fileformat.xml?r1=1.4&r2=1.5&diff_format=u Index: phpdoc/en/reference/phar/fileformat.xml diff -u phpdoc/en/reference/phar/fileformat.xml:1.4 phpdoc/en/reference/phar/fileformat.xml:1.5 --- phpdoc/en/reference/phar/fileformat.xml:1.4 Mon Jan 29 03:17:36 2007 +++ phpdoc/en/reference/phar/fileformat.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> +<!-- $Revision: 1.5 $ --> <section id="phar.fileformat"> <title>Phar file format</title> <para> @@ -51,7 +51,7 @@ <literal><![CDATA[?>]]></literal> may be included or omitted, but there can be no more than 1 space between the <literal>;</literal> and the close tag <literal><![CDATA[?>]]></literal> or the phar extension will be unable - to process the Phar archive. + to process the Phar archive's manifest. </para> </section> <section> @@ -59,7 +59,7 @@ <para> The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined - meta-data such as user or group. All values greater than 1 byte are stored + meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order. </para> @@ -92,7 +92,7 @@ </row> <row> <entry>2 bytes</entry> - <entry>API version of the Phar manifest (currently 0.9.0)</entry> + <entry>API version of the Phar manifest (currently 1.0.0)</entry> </row> <row> <entry>4 bytes</entry> @@ -244,15 +244,13 @@ <row> <entry><literal>0x00001000</literal></entry> <entry> - If set, this Phar contains at least 1 file that - is compressed with zlib compression + If set, this file is compressed with zlib compression </entry> </row> <row> <entry><literal>0x00002000</literal></entry> <entry> - If set, this Phar contains at least 1 file that - is compressed with bzip compression + If set, this file is compressed with bzip compression </entry> </row> </tbody> @@ -263,7 +261,9 @@ <section> <title>Phar Signature format</title> <para> - Phars containing a signature always have the signature + Phars containing a signature always have the signature appended to the + end of the Phar archive after the loader, manifest, and file contents. + The two signature formats supported at this time are MD5 and SHA1. </para> <para> <table> @@ -294,7 +294,7 @@ <row> <entry>4 bytes</entry> <entry> - Magic &quot;GBMB&quot; used to define the presence of a signature. + Magic <literal>GBMB</literal> used to define the presence of a signature. </entry> </row> </tbody> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/ini.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/ini.xml diff -u phpdoc/en/reference/phar/ini.xml:1.1 phpdoc/en/reference/phar/ini.xml:1.2 --- phpdoc/en/reference/phar/ini.xml:1.1 Thu Jan 18 00:24:34 2007 +++ phpdoc/en/reference/phar/ini.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <section id="phar.configuration"> &reftitle.runtime; &extension.runtime; @@ -19,7 +19,7 @@ <row> <entry>phar.readonly</entry> <entry>&quot;1&quot;</entry> - <entry>PHP_INI_SYSTEM</entry> + <entry>PHP_INI_SYSTEM disable/enable, PHP_INI_ALL enable</entry> <entry>Available Since version 1.0.0</entry> </row> <row> @@ -53,7 +53,12 @@ </para> <note> <para> - This setting can only be set in php.ini due to security reasons. + This setting can only be unset in php.ini due to security reasons. + If <literal>phar.readonly</literal> is disabled in php.ini, the + user may enable <literal>phar.readonly</literal> in a script + or disable it later. If <literal>phar.readonly</literal> is + enabled in php.ini, a script may harmlessly &quot;re-enable&quot; + the INI variable, but may not disable it. </para> </note> </listitem> @@ -67,14 +72,17 @@ <listitem> <para> This option will force all opened Phar archives to contain some - kind of signature (currently md5 and sha1 are supported), and will + kind of signature (currently MD5 and SHA1 are supported), and will refuse to process any Phar archive that does not contain a signature. </para> <note> <para> - The option can be disabled in the system level only, but can be - enabled using <function>ini_set</function> in a user script regardless - of the system setting. + This setting can only be unset in php.ini due to security reasons. + If <literal>phar.require_hash</literal> is disabled in php.ini, the + user may enable <literal>phar.require_hash</literal> in a script + or disable it later. If <literal>phar.require_hash</literal> is + enabled in php.ini, a script may harmlessly &quot;re-enable&quot; + the INI variable, but may not disable it. </para> </note> </listitem> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/reference.xml?r1=1.5&r2=1.6&diff_format=u Index: phpdoc/en/reference/phar/reference.xml diff -u phpdoc/en/reference/phar/reference.xml:1.5 phpdoc/en/reference/phar/reference.xml:1.6 --- phpdoc/en/reference/phar/reference.xml:1.5 Sat Feb 3 04:03:09 2007 +++ phpdoc/en/reference/phar/reference.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version = '1.0' encoding = 'iso-8859-1'?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <!-- Purpose: --> <!-- Membership: pecl --> <reference id="ref.phar" > @@ -26,18 +26,30 @@ the <link linkend="ref.bzip2">bz2</link> extension is present. In addition, iteration and other features are available if the <link linkend="ref.spl">SPL</link> extension is available. Phar signature verification using md5 or sha1 is natively - supported if the <link linkend="ref.hash">hash</link> extension is available. + supported to ensure archive integrity. </para> <para> The original implementation for Phar archives was in the PEAR package <ulink url="http://pear.php.net/PHP_Archive">PHP_Archive</ulink>, and - the implementation details are very similar. + the implementation details are very similar, although the Phar extension + is more full-featured. PHP_Archive has more flexibility in Phar creation, + and helpful debugging tools like the <classname>PHP_Archive_Manager</classname> + class, and the Phar extension supports iteration, array access, and + directly manipulating Phar contents through a simple interface. PHP_Archive + supports creation of Phar archives that can be processed using the Phar + extension or PHP_Archive seamlessly, whereas the Phar extension is designed + to create extensions that function with the Phar extension. In addition, + the Phar extension will continue to work even if the + <link linkend="ini.allow-url-include">allow_url_include</link> or + <link linkend="ini.allow-url-fopen">allow_url_fopen</link> INI variables + are disabled, while PHP_Archive-based Phar archives (without the Phar extension) + will not function. </para> </section> <section id="phar.requirements" > &reftitle.required; <para> - Phar requires PHP 5.2.1 or newer. Additional features require the + Phar requires PHP 5.2.0 or newer. Additional features require the <link linkend="ref.spl">SPL</link> extension in order to take advantage of iteration and array access to a Phar's file contents. The <literal>phar</literal> stream does not require any additional extensions to function. @@ -45,9 +57,7 @@ <para> You may optionally wish to enable the <link linkend="ref.zlib" >zlib</link> and <link linkend="ref.bzip2" >bzip2</link> extensions to take - advantage of compressed phar support. In addition, the - <link linkend="ref.hash" >hash</link> extension can be - used for signing phars and verifying integrity. + advantage of compressed phar support. </para> </section> &reference.phar.installation; http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/using.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc/en/reference/phar/using.xml diff -u phpdoc/en/reference/phar/using.xml:1.2 phpdoc/en/reference/phar/using.xml:1.3 --- phpdoc/en/reference/phar/using.xml:1.2 Sat Feb 3 05:16:52 2007 +++ phpdoc/en/reference/phar/using.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> <section id="phar.using.basics"> <title>Using Phar Archives: Introduction</title> <para> @@ -70,7 +70,8 @@ // only executed. if (Phar::canWrite()) { $p = new Phar(dirname(__FILE__) . '/newphar.phar', 0, 'newphar.phar'); - // create transaction - nothing is written to disk until commit() is called + // create transaction - nothing is written to newphar.phar + // until commit() is called, although temporary storage is needed $p->begin(); // add a new file, set its contents $p['file1.txt'] = 'Information'; @@ -85,14 +86,16 @@ $p['images/wow.jpg']->setMetaData(array('mime-type' => 'image/jpeg')); $p['index.php'] = file_get_contents('index.php'); $p->setMetaData(array('bootstrap' => 'index.php')); - // save the Phar, and set the loader stub - $p->commit('<?php + // set the loader stub + $p->setStub('<?php $p = new Phar(__FILE__); $m = $p->getMetaData(); require "phar://" . __FILE__ . "/" . $m["bootstrap"]; __HALT_COMPILER();'); + // save the phar archive to disk + $p->commit(); } -} catch (BadMethodCallException $e) { +} catch (Exception $e) { echo 'Could not open Phar: ', $e; } ?> @@ -126,8 +129,9 @@ <para> The <literal>phar</literal> stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the - <link linkend="ini.allow-url-fopen">allow_url_fopen</link> INI option - is disabled. + <link linkend="ini.allow-url-fopen">allow_url_fopen</link> and + <link linkend="ini.allow-url-include">allow_url_include</link> INI options + are disabled. </para> <para> Although it is possible to create phar archives from scratch just using @@ -147,15 +151,37 @@ part of an associative array. </para> <para> + It is important to note that when creating a Phar archive, the full path + should be passed to the <classname>Phar</classname> object constructor. + Relative paths will fail to initialize. + </para> + <para> Assuming that <literal>$p</literal> is a Phar object initialized as follows: <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('myphar.phar'); +$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar'); +?> + ]]> + </programlisting> + An empty Phar archive will be created at <literal>/path/to/myphar.phar</literal>, + or if <literal>/path/to/myphar.phar</literal> already exists, it will be opened + again. The literal <literal>myphar.phar</literal> deomnstrates the concept of an alias + that can be used to reference <literal>/path/to/myphar.phar</literal> in URLs as in: + <programlisting role="php"> + <![CDATA[ +<?php +// these two calls to file_get_contents() are equivalent if +// /path/to/myphar.phar has an explicit alias of "myphar.phar" +// in its manifest, or if the phar was initialized with the +// previous example's Phar object setup +$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt'); +$f = file_get_contents('phar://myphar.phar/whatever.txt'); ?> ]]> </programlisting> - The following is possible: + With the newly created <literal>$p</literal> <classname>Phar</classname> object, + the following is possible: <itemizedlist> <listitem> <simpara> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-begin.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-begin.xml diff -u phpdoc/en/reference/phar/functions/phar-begin.xml:1.1 phpdoc/en/reference/phar/functions/phar-begin.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-begin.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-begin.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-begin"> <refnamediv> <refname>Phar-&gt;begin</refname> @@ -64,7 +64,7 @@ $p->setStub("<?php function __autoload($class) { - include 'phar://' . str_replace('_', '/', $class); + include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php'; } Phar::mapPhar('myphar.phar'); include 'phar://myphar.phar/startup.php'; http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-cancompress.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-cancompress.xml diff -u phpdoc/en/reference/phar/functions/phar-cancompress.xml:1.1 phpdoc/en/reference/phar/functions/phar-cancompress.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-cancompress.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-cancompress.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-cancompress"> <refnamediv> <refname>Phar::canCompress</refname> @@ -39,7 +39,7 @@ <![CDATA[ <?php if (Phar::canCompress()) { - echo file_get_contents('phar://whatever.phar/internal/file.txt'); + echo file_get_contents('phar://compressedphar.phar/internal/file.txt'); } else { echo 'no compression available'; } http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-commit.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-commit.xml diff -u phpdoc/en/reference/phar/functions/phar-commit.xml:1.1 phpdoc/en/reference/phar/functions/phar-commit.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-commit.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-commit.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-commit"> <refnamediv> <refname>Phar-&gt;commit</refname> @@ -57,12 +57,12 @@ <?php $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); $p['file1.txt'] = 'hi'; -$p->commit(); +$p->begin(); var_dump($p->getStub()); $p->setStub("<?php function __autoload(\$class) { - include 'phar://' . str_replace('_', '/', \$class); + include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php'; } Phar::mapPhar('brandnewphar.phar'); include 'phar://brandnewphar.phar/startup.php'; http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml diff -u phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml:1.1 phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-compressallfilesbzip2.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-compressallfilesbzip2"> <refnamediv> <refname>Phar-&gt;compressAllFilesBZIP2</refname> @@ -13,11 +13,12 @@ </methodsynopsis> <para> - This method causes all files in the Phar archive to be compressed using bzip2 compression. + This method compresses all files in the Phar archive using bzip2 compression. The <link linkend="ref.bzip2">bzip2</link> extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using gzip compression, the <link linkend="ref.zlib">zlib</link> extension must be enabled in order - to decompress the file. As with all functionality that modifies the contents of + to decompress the files prior to re-compressing 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> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml diff -u phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml:1.1 phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-compressallfilesgz.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-compressallfilesgz"> <refnamediv> <refname>Phar-&gt;compressAllFilesGZ</refname> @@ -13,13 +13,14 @@ </methodsynopsis> <para> - This method causes all files in the Phar archive to be compressed using gzip compression. + This method compresses all files in the Phar archive using gzip compression. The <link linkend="ref.zlib">zlib</link> extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using - bzip2 compression, the <link linkend="ref.bzip2">bzip2</link> 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. + bzip2 compression, the <link linkend="ref.bzip2">bzip2</link> extension must be + enabled in order to decompress the files prior to re-compressing with gzip 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> </refsect1> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-getversion.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-getversion.xml diff -u phpdoc/en/reference/phar/functions/phar-getversion.xml:1.1 phpdoc/en/reference/phar/functions/phar-getversion.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-getversion.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-getversion.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-getversion"> <refnamediv> <refname>Phar-&gt;getVersion</refname> @@ -27,7 +27,9 @@ <para> The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create - new phars. + new phars. Each Phar archive has the API version hard-coded into + its manifest. See <link linkend="phar.fileformat">Phar file format</link> + documentation for more information. </para> </refsect1> <refsect1 role="seealso"> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml diff -u phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml:1.1 phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-isflushingtophar.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-isflushingtophar"> <refnamediv> <refname>Phar-&gt;isFlushingToPhar</refname> @@ -36,12 +36,22 @@ <![CDATA[ <?php $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); +$p2 = new Phar('existingphar.phar'); $p['file1.txt'] = 'hi'; var_dump($p->isFlushingToPhar()); +var_dump($p2->isFlushingToPhar()); +?> +=2= +<?php $p->begin(); var_dump($p->isFlushingToPhar()); +var_dump($p2->isFlushingToPhar()); $p->commit(); +?> +=3= +<?php var_dump($p->isFlushingToPhar()); +var_dump($p2->isFlushingToPhar()); ?> ]]> </programlisting> @@ -49,8 +59,13 @@ <screen> <![CDATA[ bool(true) +bool(true) +=2= bool(false) bool(true) +=3= +bool(true) +bool(true) ]]> </screen> </example> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-loadphar.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-loadphar.xml diff -u phpdoc/en/reference/phar/functions/phar-loadphar.xml:1.1 phpdoc/en/reference/phar/functions/phar-loadphar.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-loadphar.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-loadphar.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-loadphar"> <refnamediv> <refname>Phar::loadPhar</refname> @@ -16,7 +16,8 @@ <para> This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references - to the phar can use the shorter alias. + to the phar can use the shorter alias, or for loading Phar archives that + only contain data and are not intended for execution/inclusion in PHP scripts. </para> </refsect1> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-mapphar.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-mapphar.xml diff -u phpdoc/en/reference/phar/functions/phar-mapphar.xml:1.1 phpdoc/en/reference/phar/functions/phar-mapphar.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-mapphar.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-mapphar.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-mapphar"> <refnamediv> <refname>Phar::mapPhar</refname> @@ -13,8 +13,9 @@ </methodsynopsis> <para> - This static method should be used inside a Phar archive's loader stub - in order to initialize the phar. + This static method can only be used inside a Phar archive's loader stub + in order to initialize the phar when it is directly executed, or when + it is included in another script. </para> </refsect1> @@ -66,7 +67,7 @@ <?php function __autoload($class) { - include 'phar://' . str_replace('_', '/', $class); + include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php'; } try { Phar::mapPhar('me.phar'); http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-offsetexists.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-offsetexists.xml diff -u phpdoc/en/reference/phar/functions/phar-offsetexists.xml:1.1 phpdoc/en/reference/phar/functions/phar-offsetexists.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-offsetexists.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-offsetexists.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-offsetexists"> <refnamediv> <refname>Phar::offsetExists</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This is an implementation of the ArrayAccess interface allowing + This is an implementation of the <interface>ArrayAccess</interface> interface allowing direct manipulation of the contents of a Phar archive using array access brackets. </para> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-offsetget.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-offsetget.xml diff -u phpdoc/en/reference/phar/functions/phar-offsetget.xml:1.1 phpdoc/en/reference/phar/functions/phar-offsetget.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-offsetget.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-offsetget.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-offsetget"> <refnamediv> <refname>Phar::offsetGet</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This is an implementation of the ArrayAccess interface allowing + This is an implementation of the <interface>ArrayAccess</interface> interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetGet is used for retrieving files from a Phar archive. http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-offsetset.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-offsetset.xml diff -u phpdoc/en/reference/phar/functions/phar-offsetset.xml:1.1 phpdoc/en/reference/phar/functions/phar-offsetset.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-offsetset.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-offsetset.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-offsetset"> <refnamediv> <refname>Phar::offsetSet</refname> @@ -14,7 +14,7 @@ </methodsynopsis> <para> - This is an implementation of the ArrayAccess interface allowing + This is an implementation of the <interface>ArrayAccess</interface> interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive. @@ -75,8 +75,12 @@ <![CDATA[ <?php $p = new Phar('/path/to/my.phar', 0, 'my.phar'); -// calls offsetSet -$p['file.txt'] = 'Hi there'; +try { + // calls offsetSet + $p['file.txt'] = 'Hi there'; +} catch (Exception $e) { + echo 'Could not modify file.txt:', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-offsetunset.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-offsetunset.xml diff -u phpdoc/en/reference/phar/functions/phar-offsetunset.xml:1.1 phpdoc/en/reference/phar/functions/phar-offsetunset.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-offsetunset.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-offsetunset.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-offsetunset"> <refnamediv> <refname>Phar::offsetUnset</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This is an implementation of the ArrayAccess interface allowing + This is an implementation of the <interface>ArrayAccess</interface> interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the <function>unset</function> @@ -65,8 +65,12 @@ <![CDATA[ <?php $p = new Phar('/path/to/my.phar', 0, 'my.phar'); -// deletes file.txt from my.phar by calling offsetUnset -unset($p['file.txt']); +try { + // deletes file.txt from my.phar by calling offsetUnset + unset($p['file.txt']); +} catch (Exception $e) { + echo 'Could not delete file.txt: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-setmetadata.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-setmetadata.xml diff -u phpdoc/en/reference/phar/functions/phar-setmetadata.xml:1.1 phpdoc/en/reference/phar/functions/phar-setmetadata.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-setmetadata.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-setmetadata.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-setmetadata"> <refnamediv> <refname>Phar-&gt;setMetaData</refname> @@ -9,7 +9,7 @@ &reftitle.description; <methodsynopsis> <type>int</type><methodname>Phar-&gt;setMetaData</methodname> - <void/> + <methodparam><type>mixed</type><parameter>metadata</parameter></methodparam> </methodsynopsis> <para> @@ -61,12 +61,12 @@ @unlink('brandnewphar.phar'); try { $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); + $p['file.php'] = '<?php echo "hello"'; + $p->setMetaData(array('bootstrap' => 'file.php')); + var_dump($p->getMetaData()); } catch (Exception $e) { - echo 'Could not create phar:', $e; + echo 'Could not create and/or modify phar:', $e; } -$p['file.php'] = '<?php echo "hello"'; -$p->setMetaData(array('bootstrap' => 'file.php')); -var_dump($p->getMetaData()); ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-setstub.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-setstub.xml diff -u phpdoc/en/reference/phar/functions/phar-setstub.xml:1.1 phpdoc/en/reference/phar/functions/phar-setstub.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-setstub.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-setstub.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-setstub"> <refnamediv> <refname>Phar-&gt;setStub</refname> @@ -9,7 +9,7 @@ &reftitle.description; <methodsynopsis> <type>void</type><methodname>Phar-&gt;setStub</methodname> - <void/> + <methodparam><type>string</type><parameter>stub</parameter></methodparam> </methodsynopsis> <para> @@ -62,15 +62,19 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); -$p['a.php'] = '<?php var_dump("Hello");'; -$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>'); -include 'phar://brandnewphar.phar/a.php'; -var_dump($p->getStub()); -$p['b.php'] = '<?php var_dump("World");'; -$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>'); -include 'phar://brandnewphar.phar/b.php'; -var_dump($p->getStub()); +try { + $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); + $p['a.php'] = '<?php var_dump("Hello");'; + $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>'); + include 'phar://brandnewphar.phar/a.php'; + var_dump($p->getStub()); + $p['b.php'] = '<?php var_dump("World");'; + $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>'); + include 'phar://brandnewphar.phar/b.php'; + var_dump($p->getStub()); +} catch (Exception $e) { + echo 'Write operations failed on brandnewphar.phar: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml diff -u phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml:1.1 phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml:1.2 --- phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/phar-uncompressallfiles.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.phar-uncompressallfiles"> <refnamediv> <refname>Phar-&gt;uncompressAllFiles</refname> @@ -13,11 +13,11 @@ </methodsynopsis> <para> - This method causes all files in the Phar archive to be uncompressed. + This method decompresses all files in the Phar archive. If any files are already compressed using gzip compression, the <link linkend="ref.zlib">zlib</link> extension must be enabled in order - to decompress the file, and any files compressed using bzip2 compression - require the <link linkend="ref.bzip2">bzip2</link> extension to decompress the file. + to decompress the files, and any files compressed using bzip2 compression + require the <link linkend="ref.bzip2">bzip2</link> extension to decompress the files. 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. @@ -45,22 +45,26 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$p['myfile2.txt'] = 'hi'; -$p->compressAllFilesGZ(); -foreach ($p as $file) { - var_dump($file->getFileName()); - var_dump($file->isCompressed()); - var_dump($file->isCompressedBZIP2()); - var_dump($file->isCompressedGZ()); -} -$p->uncompressAllFiles(); -foreach ($p as $file) { - var_dump($file->getFileName()); - var_dump($file->isCompressed()); - var_dump($file->isCompressedBZIP2()); - var_dump($file->isCompressedGZ()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $p['myfile2.txt'] = 'hi'; + $p->compressAllFilesGZ(); + foreach ($p as $file) { + var_dump($file->getFileName()); + var_dump($file->isCompressed()); + var_dump($file->isCompressedBZIP2()); + var_dump($file->isCompressedGZ()); + } + $p->uncompressAllFiles(); + foreach ($p as $file) { + var_dump($file->getFileName()); + var_dump($file->isCompressed()); + var_dump($file->isCompressedBZIP2()); + var_dump($file->isCompressedGZ()); + } +} catch (Exception $e) { + echo 'Write operations failed on my.phar: ', $e; } ?> ]]> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-construct.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-construct"> <refnamediv> <refname>PharFileInfo::__construct</refname> @@ -58,16 +58,20 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['testfile.txt'] = "hi\nthere\ndude"; -$file = $p['testfile.txt']; -foreach ($file as $line => $text) { - echo "line number $line: $text"; -} -// this also works -$file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt'); -foreach ($file as $line => $text) { - echo "line number $line: $text"; +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['testfile.txt'] = "hi\nthere\ndude"; + $file = $p['testfile.txt']; + foreach ($file as $line => $text) { + echo "line number $line: $text"; + } + // this also works + $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt'); + foreach ($file as $line => $text) { + echo "line number $line: $text"; + } +} catch (Exception $e) { + echo 'Phar operations failed: ', $e; } ?> ]]> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-getcompressedsize.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-getcompressedsize"> <refnamediv> <refname>PharFileInfo-&gt;getCompressedSize</refname> @@ -33,10 +33,14 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -echo $file->getCompressedSize(); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + echo $file->getCompressedSize(); +} catch (Exception $e) { + echo 'Write operations failed on my.phar: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-getcrc32.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-getcrc32"> <refnamediv> <refname>PharFileInfo-&gt;getCRC32</refname> @@ -44,10 +44,14 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -echo $file->getCRC32(); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + echo $file->getCRC32(); +} catch (Exception $e) { + echo 'Write operations on my.phar.phar failed: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-getmetadata.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-getmetadata"> <refnamediv> <refname>PharFileInfo-&gt;getMetaData</refname> @@ -13,6 +13,7 @@ </methodsynopsis> <para> + Return meta-data that was saved in the Phar archive's manifest for this file. </para> </refsect1> @@ -43,12 +44,12 @@ @unlink('brandnewphar.phar'); try { $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); + $p['file.txt'] = 'hello'; + $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain')); + var_dump($p['file.txt']->getMetaData()); } catch (Exception $e) { - echo 'Could not create phar:', $e; + echo 'Could not create/modify brandnewphar.phar: ', $e; } -$p['file.txt'] = 'hello'; -$p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain')); -var_dump($p['file.txt']->getMetaData()); ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-getpharflags.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-getPharFlags"> <refnamediv> <refname>PharFileInfo-&gt;getPharFlags</refname> @@ -12,15 +12,15 @@ <void/> </methodsynopsis> <para> - This returns the size of the file within the Phar archive. Uncompressed files will return - the same value for getCompressedSize as they will with <function>filesize</function> + This returns the flags set in the manifest for a Phar. This will always + return <literal>0</literal> in the current implementation. </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - The size in bytes of the file within the Phar archive on disk. + The Phar flags (always <literal>0</literal> in the current implementation) </para> </refsect1> @@ -32,10 +32,14 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->getPharFlags()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + var_dump($file->getPharFlags()); +} catch (Exception $e) { + echo 'Could not create/modify my.phar: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-iscompressed.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-iscompressed"> <refnamediv> <refname>PharFileInfo-&gt;isCompressed</refname> @@ -33,10 +33,18 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCompressed()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $p['myfile2.txt'] = 'hi'; + $p['myfile2.txt']->setCompressedGZ(); + $file = $p['myfile.txt']; + $file2 = $p['myfile2.txt']; + var_dump($file->isCompressed()); + var_dump($file2->isCompressed()); +} catch (Exception $e) { + echo 'Create/modify on phar my.phar failed: ', $e; +} ?> ]]> </programlisting> @@ -44,6 +52,7 @@ <screen> <![CDATA[ bool(false) +bool(true) ]]> </screen> </example> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedbzip2.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-iscompressedbzip2"> <refnamediv> <refname>PharFileInfo-&gt;isCompressedBZIP2</refname> @@ -33,10 +33,22 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCompressedBZIP2()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $p['myfile2.txt'] = 'hi'; + $p['myfile3.txt'] = 'hi'; + $p['myfile2.txt']->setCompressedGZ(); + $p['myfile3.txt']->setCompressedBZIP2(); + $file = $p['myfile.txt']; + $file2 = $p['myfile2.txt']; + $file3 = $p['myfile3.txt']; + var_dump($file->isCompressedBZIP2()); + var_dump($file2->isCompressedBZIP2()); + var_dump($file3->isCompressedBZIP2()); +} catch (Exception $e) { + echo 'Create/modify on phar my.phar failed: ', $e; +} ?> ]]> </programlisting> @@ -44,6 +56,8 @@ <screen> <![CDATA[ bool(false) +bool(false) +bool(true) ]]> </screen> </example> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-iscompressedgz.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-iscompressedgz"> <refnamediv> <refname>PharFileInfo-&gt;isCompressedGZ</refname> @@ -33,10 +33,22 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCompressedGZ()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $p['myfile2.txt'] = 'hi'; + $p['myfile3.txt'] = 'hi'; + $p['myfile2.txt']->setCompressedGZ(); + $p['myfile3.txt']->setCompressedBZIP2(); + $file = $p['myfile.txt']; + $file2 = $p['myfile2.txt']; + $file3 = $p['myfile3.txt']; + var_dump($file->isCompressedGZ()); + var_dump($file2->isCompressedGZ()); + var_dump($file3->isCompressedGZ()); +} catch (Exception $e) { + echo 'Create/modify on phar my.phar failed: ', $e; +} ?> ]]> </programlisting> @@ -44,6 +56,8 @@ <screen> <![CDATA[ bool(false) +bool(true) +bool(false) ]]> </screen> </example> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-iscrcchecked.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-iscrcchecked"> <refnamediv> <refname>PharFileInfo-&gt;isCRCChecked</refname> @@ -33,10 +33,14 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCRCChecked()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + var_dump($file->isCRCChecked()); +} catch (Exception $e) { + echo 'Create/modify operations failed on my.phar: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedbzip2.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-setcompressedbzip2"> <refnamediv> <refname>PharFileInfo-&gt;setCompressedBZIP2</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This method causes the file referenced to be compressed using bzip2 compression. + This method compresses the file inside the Phar archive using bzip2 compression. The <link linkend="ref.bzip2">bzip2</link> extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using gzip compression, the <link linkend="ref.zlib">zlib</link> extension must be enabled in order @@ -41,12 +41,16 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCompressedBZIP2()); -$p['myfile.txt']->setCompressedBZIP2(); -var_dump($file->isCompressedBZIP2()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + var_dump($file->isCompressedBZIP2()); + $p['myfile.txt']->setCompressedBZIP2(); + var_dump($file->isCompressedBZIP2()); +} catch (Exception $e) { + echo 'Create/modify operations on my.phar failed: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-setcompressedgz.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-setcompressedgz"> <refnamediv> <refname>PharFileInfo-&gt;setCompressedGZ</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This method causes the file referenced to be compressed using gzip compression. + This method compresses the file inside the Phar archive using gzip compression. The <link linkend="ref.zlib">zlib</link> extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using bzip2 compression, the <link linkend="ref.bzip2">bzip2</link> extension must be enabled in order @@ -41,12 +41,16 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -var_dump($file->isCompressedGZ()); -$p['myfile.txt']->setCompressedGZ(); -var_dump($file->isCompressedGZ()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + var_dump($file->isCompressedGZ()); + $p['myfile.txt']->setCompressedGZ(); + var_dump($file->isCompressedGZ()); +} catch (Exception $e) { + echo 'Create/modify operations on my.phar failed: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml:1.2 phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml:1.3 --- phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml:1.2 Sat Feb 3 06:43:04 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-setmetadata.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> <refentry id="function.pharfileinfo-setmetadata"> <refnamediv> <refname>PharFileInfo-&gt;setMetaData</refname> @@ -9,7 +9,7 @@ &reftitle.description; <methodsynopsis> <type>int</type><methodname>PharFileInfo-&gt;setMetaData</methodname> - <void/> + <methodparam><type>mixed</type><parameter>metadata</parameter></methodparam> </methodsynopsis> <para> @@ -18,9 +18,10 @@ Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a - phar, and you can use <function>chmod</function> to change the permissions of - files inside a phar. As with all functionality that modifies the contents of - a phar, the <link linkend="ini.phar.readonly">phar.readonly</link> INI variable must be + phar, although it is possible to set them with the + <link linkend="function.pharfileinfo-chmod"><function>PharFileInfo-&gt;chmod</function></link> + method. 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> @@ -62,12 +63,12 @@ @unlink('brandnewphar.phar'); try { $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); + $p['file.txt'] = 'hello'; + $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain')); + var_dump($p['file.txt']->getMetaData()); } catch (Exception $e) { - echo 'Could not create phar:', $e; + echo 'Could not create/modify phar: ', $e; } -$p['file.txt'] = 'hello'; -$p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain')); -var_dump($p['file.txt']->getMetaData()); ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml?r1=1.1&r2=1.2&diff_format=u Index: phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml diff -u phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml:1.1 phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml:1.2 --- phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml:1.1 Sat Feb 3 05:16:53 2007 +++ phpdoc/en/reference/phar/functions/pharfileinfo-setuncompressed.xml Tue Feb 6 05:46:41 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <refentry id="function.pharfileinfo-setuncompressed"> <refnamediv> <refname>PharFileInfo-&gt;setUncompressed</refname> @@ -13,7 +13,7 @@ </methodsynopsis> <para> - This method causes the file referenced to be uncompressed and re-saved. + This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the <link linkend="ref.bzip2">bzip2</link> or <link linkend="ref.zlib">zlib</link> extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of @@ -40,13 +40,17 @@ <programlisting role="php"> <![CDATA[ <?php -$p = new Phar('/path/to/my.phar', 0, 'my.phar'); -$p['myfile.txt'] = 'hi'; -$file = $p['myfile.txt']; -$file->setCompressedGZ(); -var_dump($file->isCompressed()); -$p['myfile.txt']->setUncompressed(); -var_dump($file->isCompressed()); +try { + $p = new Phar('/path/to/my.phar', 0, 'my.phar'); + $p['myfile.txt'] = 'hi'; + $file = $p['myfile.txt']; + $file->setCompressedGZ(); + var_dump($file->isCompressed()); + $p['myfile.txt']->setUncompressed(); + var_dump($file->isCompressed()); +} catch (Exception $e) { + echo 'Create/modify failed for my.phar: ', $e; +} ?> ]]> </programlisting> http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/phar/functions/pharfileinfo-chmod.xml?view=markup&rev=1.1 Index: phpdoc/en/reference/phar/functions/pharfileinfo-chmod.xml +++ phpdoc/en/reference/phar/functions/pharfileinfo-chmod.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <refentry id="function.pharfileinfo-chmod"> <refnamediv> <refname>PharFileInfo-&gt;chmod</refname> <refpurpose>Sets file-specific meta-data saved with a file</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>void</type><methodname>PharFileInfo-&gt;chmod</methodname> <methodparam><type>int</type><parameter>permissions</parameter></methodparam> </methodsynopsis> <para> <function>PharFileInfo-&gt;chmod</function> allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the <link linkend="ini.phar.readonly">phar.readonly</link> INI variable. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>permissions</parameter></term> <listitem> <para> permissions (see <function>chmod</function>) </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title>A <function>PharFileInfo-&gt;chmod</function> example</title> <para> </para> <programlisting role="php"> <![CDATA[ <?php // make sure it doesn't exist @unlink('brandnewphar.phar'); try { $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar'); $p['file.sh'] = '#!/usr/local/lib/php <?php echo "hi"; ?>'; // set executable bit $p['file.sh']->chmod(0555); var_dump($p['file.sh']->isExecutable()); } catch (Exception $e) { echo 'Could not create/modify phar: ', $e; } ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ bool(true) ]]> </screen> </example> </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 -->
« previous php.doc (#969375321) next »