nlopess         Fri Sep 22 17:05:11 2006 UTC

  Modified files:              
    /phpdoc/en/appendices       wrappers.xml 
  Log:
  add php://memory and php://temp
  
http://cvs.php.net/viewvc.cgi/phpdoc/en/appendices/wrappers.xml?r1=1.64&r2=1.65&diff_format=u
Index: phpdoc/en/appendices/wrappers.xml
diff -u phpdoc/en/appendices/wrappers.xml:1.64 
phpdoc/en/appendices/wrappers.xml:1.65
--- phpdoc/en/appendices/wrappers.xml:1.64      Fri Sep 22 15:39:56 2006
+++ phpdoc/en/appendices/wrappers.xml   Fri Sep 22 17:05:11 2006
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.64 $ -->
+<!-- $Revision: 1.65 $ -->
 <appendix id="wrappers">
  <title>List of Supported Protocols/Wrappers</title>
  <para>
@@ -603,11 +603,6 @@
 
  <section id="wrappers.php">
   <title>PHP input/output streams</title>
-  <simpara>
-   PHP 3.0.13 and up, <filename>php://output</filename> 
-   and <filename>php://input</filename> since PHP 4.3.0,
-   <filename>php://filter</filename> since PHP 5.0.0.
-  </simpara>
 
   <itemizedlist>
    <listitem><simpara><filename>php://stdin</filename></simpara></listitem>
@@ -615,7 +610,9 @@
    <listitem><simpara><filename>php://stderr</filename></simpara></listitem>
    <listitem><simpara><filename>php://output</filename></simpara></listitem>
    <listitem><simpara><filename>php://input</filename></simpara></listitem>
-   <listitem><simpara><filename>php://filter</filename></simpara></listitem>
+   <listitem><simpara><filename>php://filter</filename> (available since PHP 
5.0.0)</simpara></listitem>
+   <listitem><simpara><filename>php://memory</filename> (available since PHP 
5.1.0)</simpara></listitem>
+   <listitem><simpara><filename>php://temp</filename> (available since PHP 
5.1.0)</simpara></listitem>
   </itemizedlist>
 
   <simpara>
@@ -730,6 +727,44 @@
     </simpara>
    </listitem>
   </itemizedlist>
+
+  <simpara>
+   The <filename>php://memory</filename> wrapper stores the data in the
+   memory. <filename>php://temp</filename> behaves similarly, but uses a
+   temporary file for storing the data when a certain memory limit is reached
+   (the default is 2 MB).
+  </simpara>
+  <simpara>
+   The <filename>php://temp</filename> wrapper takes the following 
+   'parameters' as parts of its 'path':
+  </simpara>
+  <itemizedlist>
+   <listitem>
+    <para>
+     <literal>/maxmemory:&lt;number of bytes&gt;</literal>
+     (<emphasis>optional</emphasis>). This parameter allows changing the
+     default value for the memory limit (when the data is moved to a temporary
+     file).
+     <informalexample>
+      <programlisting role="php">
+<![CDATA[
+<?php
+$fiveMBs = 5 * 1024 * 1024;
+$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');
+
+fputs($fp, "hello\n");
+
+// read what we have written
+rewind($fp);
+echo stream_get_contents($fp);
+?>
+]]>
+      </programlisting>
+     </informalexample>
+    </para>
+   </listitem>
+  </itemizedlist>
+
   <para>
    <table>
     <title>
@@ -751,33 +786,45 @@
       <row>
        <entry>Allows Reading</entry>
        <entry>
-        <literal>php://stdin</literal> and 
-        <literal>php://input</literal> only.
+        <literal>php://stdin</literal>,
+        <literal>php://input</literal>,
+        <literal>php://memory</literal> and
+        <literal>php://temp</literal> only.
        </entry>
       </row>
       <row>
        <entry>Allows Writing</entry>
        <entry>
         <literal>php://stdout</literal>,
-        <literal>php://stderr</literal>, and 
-        <literal>php://output</literal> only.
+        <literal>php://stderr</literal>,
+        <literal>php://output</literal>,
+        <literal>php://memory</literal> and
+        <literal>php://temp</literal> only.
        </entry>
       </row>
       <row>
        <entry>Allows Appending</entry>
        <entry>
         <literal>php://stdout</literal>,
-        <literal>php://stderr</literal>, and 
-        <literal>php://output</literal> only. (Equivalent to writing)
+        <literal>php://stderr</literal>,
+        <literal>php://output</literal>,
+        <literal>php://memory</literal> and
+        <literal>php://temp</literal> only. (Equivalent to writing)
        </entry>
       </row>
       <row>
        <entry>Allows Simultaneous Reading and Writing</entry>
-       <entry>No.  These wrappers are unidirectional.</entry>
+       <entry>
+        <literal>php://memory</literal> and
+        <literal>php://temp</literal> only.
+       </entry>
       </row>
       <row>
        <entry>Supports <function>stat</function></entry>
-       <entry>No</entry>
+       <entry>
+        <literal>php://memory</literal> and
+        <literal>php://temp</literal> only.
+       </entry>
       </row>
       <row>
        <entry>Supports <function>unlink</function></entry>

Reply via email to