simp            Thu Mar 30 01:57:24 2006 UTC

  Modified files:              
    /phpdoc/en/features file-upload.xml 
  Log:
  bug #36905 and included some notes
  
  
http://cvs.php.net/viewcvs.cgi/phpdoc/en/features/file-upload.xml?r1=1.87&r2=1.88&diff_format=u
Index: phpdoc/en/features/file-upload.xml
diff -u phpdoc/en/features/file-upload.xml:1.87 
phpdoc/en/features/file-upload.xml:1.88
--- phpdoc/en/features/file-upload.xml:1.87     Mon Aug 29 22:17:34 2005
+++ phpdoc/en/features/file-upload.xml  Thu Mar 30 01:57:23 2006
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.87 $ -->
+<!-- $Revision: 1.88 $ -->
  <chapter id="features.file-upload">
   <title>Handling file uploads</title>
 
@@ -460,46 +460,11 @@
 
   <sect1 id="features.file-upload.put-method">
    <title>PUT method support</title>
-   <simpara>
-    PUT method support has changed between PHP 3 and PHP 4.
-    In PHP 4, one should use the standard input stream to read
-    the contents of an HTTP PUT.
-   </simpara>
-   <para>
-    <example>
-     <title>Saving HTTP PUT files with PHP 4</title>
-     <programlisting role="php">
-<![CDATA[
-<?php
-/* PUT data comes in on the stdin stream */
-$putdata = fopen("php://stdin", "r");
-
-/* Open a file for writing */
-$fp = fopen("myputfile.ext", "w");
-
-/* Read the data 1 KB at a time
-   and write to the file */
-while ($data = fread($putdata, 1024))
-  fwrite($fp, $data);
-
-/* Close the streams */
-fclose($fp);
-fclose($putdata);
-?>
-]]>
-     </programlisting>
-    </example>
-   </para>
-   <note>
-    <para>
-     All documentation below applies to PHP 3 only.
-    </para>
-   </note>
    <para>
-    PHP provides support for the HTTP PUT method used by clients such
-    as <productname>Netscape Composer</productname> and W3C 
<productname>Amaya</productname>.  
-    PUT requests are much simpler
-    than a file upload and they look something like this:
+    PHP provides support for the HTTP PUT method used by some clients to store
+    files on a server.
+    PUT requests are much simpler than a file upload using POST requests
+    and they look something like this:
     <informalexample>
      <programlisting role="HTTP">
 <![CDATA[
@@ -529,24 +494,61 @@
    </para>
    <simpara>
     This tells Apache to send all PUT requests for URIs that match the
-    context in which you put this line to the put.php script.  This
+    context in which you put this line to the put.php script. This
     assumes, of course, that you have PHP enabled for the .php
-    extension and PHP is active.
+    extension and PHP is active. The destination resource for all PUT 
+    requests to this script has to be the script itself, not a filename the
+    uploaded file should have.
    </simpara>
    <simpara>
-    Inside your put.php file you would then do something like this:
+    With PHP 4 and following you would then do something like the following in
+    your put.php. This would copy the contents of the uploaded file to the
+    file <filename>myputfile.ext</filename> on the server.
+    You would probably want to perform some checks and/or
+    authenticate the user before performing this file copy.
    </simpara>
    <para>
-    <informalexample><programlisting role="php">
+    <example>
+     <title>Saving HTTP PUT files with PHP 4</title>
+     <programlisting role="php">
+<![CDATA[
+<?php
+/* PUT data comes in on the stdin stream */
+$putdata = fopen("php://input", "r");
+
+/* Open a file for writing */
+$fp = fopen("myputfile.ext", "w");
+
+/* Read the data 1 KB at a time
+   and write to the file */
+while ($data = fread($putdata, 1024))
+  fwrite($fp, $data);
+
+/* Close the streams */
+fclose($fp);
+fclose($putdata);
+?>
+]]>
+     </programlisting>
+    </example>
+   </para>
+   <note>
+    <para>
+     All documentation below applies to PHP 3 only.
+    </para>
+   </note>
+   <para>
+    <example>
+    <title>Saving HTTP PUT files with PHP 3</title>
+    <programlisting role="php">
 <![CDATA[
 <?php copy($PHP_UPLOADED_FILE_NAME, $DOCUMENT_ROOT . $REQUEST_URI); ?>
 ]]>
-    </programlisting></informalexample>
+    </programlisting>
+   </example>
    </para>
    <simpara>
-    This would copy the file to the location requested by the remote
-    client.  You would probably want to perform some checks and/or
-    authenticate the user before performing this file copy.  The only
+    The only
     trick here is that when PHP sees a PUT-method request it stores
     the uploaded file in a temporary file just like those handled by
     the <link

Reply via email to