wez             Mon Sep 23 22:53:09 2002 EDT

  Modified files:              
    /phpdoc/en/appendices       wrappers.xml 
    /phpdoc/en/reference/filesystem     reference.xml 
    /phpdoc/en/reference/filesystem/functions   fopen.xml 
  Log:
  Make fopen() docs actually readable.
  Moved wrapper descriptions into the wrapper appendix.
  I plan to add more details, such as the the file_get_wrapper_data()
  structures for each wrapper, so this is a positive move in that direction.
  
  
Index: phpdoc/en/appendices/wrappers.xml
diff -u phpdoc/en/appendices/wrappers.xml:1.1 phpdoc/en/appendices/wrappers.xml:1.2
--- phpdoc/en/appendices/wrappers.xml:1.1       Mon Sep 16 14:13:37 2002
+++ phpdoc/en/appendices/wrappers.xml   Mon Sep 23 22:53:08 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <appendix id="wrappers">
  <title>List of Supported Protocols/Wrappers</title>
  <para>
@@ -9,92 +9,139 @@
   In addition to these wrappers, as of PHP 4.3, you can write
   your own wrappers using PHP script and
   <function>file_register_wrapper</function>.
-
-  <table>
-   <title>URL Wrappers</title>
-   <tgroup cols="3">
-   <thead>
-    <row>
-     <entry>Protocol</entry>
-     <entry>Versions</entry>
-     <entry>Description</entry>
-    </row>
-   </thead>
-   <tbody>
-    <row>
-     <entry>http://</entry>
-     <entry>All</entry>
-     <entry>Allows read-only access to files/resources via HTTP.</entry>
-    </row>
-    <row>
-     <entry>https://</entry>
-     <entry>PHP 4.3 and up, with SSL support</entry>
-     <entry>Allows read-only access to files/resources via SSL secured
-      HTTP.
-     </entry>
-    </row>
-    <row>
-     <entry>ftp://</entry>
-     <entry>All</entry>
-     <entry>Allows read access to existing files and creation of new files
-      via FTP.
-     </entry>
-    </row>
-    <row>
-     <entry>ftps://</entry>
-     <entry>PHP 4.3 and up, with SSL support</entry>
-     <entry>The same as ftp://, but uses SSL when supported by the FTP server.</entry>
-    </row>
-    <row>
-     <entry>php://stdin</entry>
-     <entry>PHP 3.0.13 and up</entry>
-     <entry>Allows read acess to the standard input stream of the PHP process.</entry>
-    </row>
-    <row>
-     <entry>php://stdout</entry>
-     <entry>PHP 3.0.13 and up</entry>
-     <entry>Allows write acess to the standard output stream of the PHP 
process.</entry>
-    </row>
-    <row>
-     <entry>php://stderr</entry>
-     <entry>PHP 3.0.13 and up</entry>
-     <entry>Allows write acess to the standard error stream of the PHP 
process.</entry>
-    </row>
-    <row>
-     <entry>php://output</entry>
-     <entry>PHP 4.3 and up</entry>
-     <entry>Allows write acess to the output buffer mechanism, just like
-      <function>echo</function> and <function>print</function>.
-     </entry>
-    </row>
-    <row>
-     <entry>zlib:</entry>
-     <entry>PHP 4.0.4 - PHP 4.2.3, systems with fopencookie only</entry>
-     <entry>Works like <function>gzopen</function>, except that the
-      stream can be used with <function>fread</function> and the other
-      filesystem functions.  This is deprecated as of PHP 4.3 due
-      to ambiguities with filenames containing ':' characters; use
-      compress.zlib:// instead.
-     </entry>
-    </row>
-    <row>
-     <entry>compress.zlib://</entry>
-     <entry>PHP 4.3 and up</entry>
-     <entry>Works just like <function>gzopen</function>, even on systems
-      without fopencookie.
-     </entry>
-    </row>
-    <row>
-     <entry>compress.bzip2://</entry>
-     <entry>PHP 4.3 and up</entry>
-     <entry>Works just like <function>bzopen</function>.
-     </entry>
-    </row>
-   </tbody>
-   </tgroup>
-  </table>
  </para>
+
+ <section id="wrappers.http">
+  <title>HTTP and HTTPS</title>
+  <simpara>PHP 3, PHP 4.  https:// since PHP 4.3</simpara>
+
+  <itemizedlist>
+   <listitem><simpara>http://example.com</simpara></listitem>
+   <listitem><simpara>http://user:[EMAIL PROTECTED]</simpara></listitem>
+   <listitem><simpara>https://example.com</simpara></listitem>
+   <listitem><simpara>https://user:[EMAIL PROTECTED]</simpara></listitem>
+  </itemizedlist>
+
+  <simpara>Allows read-only access to files/resources via HTTP 1.0,
+   using the HTTP GET method. A Host: header is sent with the request
+   to handle name-based virtual hosts.  If you have configured
+   a <link linkend="ini.user-agent">user_agent</link> string using
+   your ini file or the stream context, it will also be included
+   in the request.
+  </simpara>
+  <simpara>
+   Redirects have been supported since PHP 4.0.5; if you are using
+   an earlier version you will need to include trailing slashes in
+   your URLs.
+  </simpara>
+  <simpara>
+   The stream allows access to the <emphasis>body</emphasis> of
+   the resource; the headers are stored in the
+   <parameter>$http_response_header</parameter> variable.
+   Since PHP 4.3, the headers are available using
+   <function>file_get_wrapper_data</function>.
+  </simpara>
+  <simpara>
+   HTTP connections are read-only; you cannot write data or copy
+   files to an HTTP resource.
+  </simpara>
+  <note>
+   <simpara>HTTPS is supported starting from PHP 4.3, if you
+    have compiled in support for OpenSSL.
+   </simpara>
+  </note>
+ </section>
+
+ <section id="wrappers.ftp">
+  <title>FTP and FTPS</title>
+  <simpara>PHP 3, PHP 4.  ftps:// since PHP 4.3</simpara>
+
+  <itemizedlist>
+   <listitem><simpara>ftp://example.com/pub/file.txt</simpara></listitem>
+   
+<listitem><simpara>ftp://user:[EMAIL PROTECTED]/pub/file.txt</simpara></listitem>
+   <listitem><simpara>ftps://example.com/pub/file.txt</simpara></listitem>
+   
+<listitem><simpara>ftps://user:[EMAIL PROTECTED]/pub/file.txt</simpara></listitem>
+  </itemizedlist>
+
+  <simpara>
+   Allows read access to existing files and creation of new files
+   via FTP.  If the server does not support passive mode ftp, the
+   connection will fail.
+  </simpara>
+  <simpara>
+   You can open files for either reading or writing, but not both
+   simultaneously.  If the remote file already exists on the ftp
+   server and you attempt to open it for writing, the connection
+   will fail.  If you need to update existing files over ftp,
+   use <function>ftp_connect</function>.
+  </simpara>
+  <simpara>
+   ftps:// was introduced in PHP 4.3.  It is the same as ftp://,
+   but attempts to negotiate a secure connection with the ftp server.
+   If the server does not support SSL, then the connection falls back
+   to regular unencrypted ftp.
+  </simpara>
+  <note>
+   <simpara>FTPS is supported starting from PHP 4.3, if you
+    have compiled in support for OpenSSL.
+   </simpara>
+  </note>
+
+ </section>
+
+ <section id="wrappers.php">
+  <title>PHP input/output streams</title>
+  <simpara>PHP 3.0.13 and up, php://output since PHP 4.3</simpara>
+
+  <itemizedlist>
+   <listitem><simpara>php://stdin</simpara></listitem>
+   <listitem><simpara>php://stdout</simpara></listitem>
+   <listitem><simpara>php://stderr</simpara></listitem>
+   <listitem><simpara>php://output</simpara></listitem>
+  </itemizedlist>
+
+  <simpara>
+   php://stdin, php://stdout and php://stderr allow access to
+   the corresponding input or output stream of the PHP process.
+  </simpara>
+  <simpara>
+   php://output allows you to write to the output buffer mechanism
+   in the same way as <function>print</function> and
+   <function>echo</function>.
+  </simpara>
+  <simpara>
+   php://stdin is read-only, whereas php://stdout, php://stderr
+   and php://output are write-only.
+  </simpara>
+ </section>
+
+ <section id="wrappers.compression">
+  <title>Compression Streams</title>
+  <simpara>zlib: PHP 4.0.4 - PHP 4.2.3 (systems with fopencookie only)</simpara>
+  <simpara>compress.zlib:// and compress.bzip2:// PHP 4.3 and up</simpara>
+
+  <itemizedlist>
+   <listitem><simpara>zlib:</simpara></listitem>
+   <listitem><simpara>compress.zlib://</simpara></listitem>
+   <listitem><simpara>compress.bzip2://</simpara></listitem>
+  </itemizedlist>
+
+  <simpara> 
+   zlib: works like <function>gzopen</function>, except that the
+   stream can be used with <function>fread</function> and the other
+   filesystem functions.  This is deprecated as of PHP 4.3 due
+   to ambiguities with filenames containing ':' characters; use
+   compress.zlib:// instead.
+  </simpara>
+
+  <simpara>
+   compress.zlib:// and compress.bzip2:// are equivalent to
+   <function>gzopen</function> and <function>bzopen</function> respectively,
+   and operate even on systems that do not support fopencookie.
+  </simpara>
+ </section>
 </appendix>
+
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
Index: phpdoc/en/reference/filesystem/reference.xml
diff -u phpdoc/en/reference/filesystem/reference.xml:1.4 
phpdoc/en/reference/filesystem/reference.xml:1.5
--- phpdoc/en/reference/filesystem/reference.xml:1.4    Fri Aug  9 06:26:00 2002
+++ phpdoc/en/reference/filesystem/reference.xml        Mon Sep 23 22:53:08 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
  <reference id="ref.filesystem">
   <title>Filesystem functions</title>
   <titleabbrev>Filesystem</titleabbrev>
@@ -23,7 +23,53 @@
 
    <section id="filesystem.configuration">
     &reftitle.runtime;
-    &no.config;
+    &extension.runtime;
+    <para>
+     <table>
+      <title>Filesystem and Streams Configuration Options</title>
+      <tgroup cols="3">
+       <thead>
+        <row>
+         <entry>Name</entry>
+         <entry>Default</entry>
+         <entry>Changeable</entry>
+        </row>
+       </thead>
+       <tbody>
+        <row>
+         <entry>auto_detect_line_endings</entry>
+         <entry>"Off"</entry>
+         <entry>PHP_INI_ALL</entry>
+        </row>
+       </tbody>
+      </tgroup>
+     </table>
+    </para>
+    <para>
+     Here is a short explanation of the configuration directives.
+     <variablelist>
+      <varlistentry id="ini.auto-detect-line-endings">
+       <term>
+        <parameter>auto_detect_line_endings</parameter>
+        <type>boolean</type>
+       </term>
+       <listitem>
+        <para>
+         When turned on, PHP will examine the data read by
+         <function>fgets</function> and <function>file</function> to see if it
+         is using Unix, MS-Dos or Macintosh line-ending conventions.
+        </para>
+        <para>This enables PHP to to interoperate with Macintosh systems,
+         but defaults to Off, as there is a very small performance penalty
+         when detecting the EOL conventions for the first line, and also
+         because people using carriage-returns as item separators under
+         Unix systems would experience non-backwards-compatible behaviour.
+        </para>
+       </listitem>
+      </varlistentry>
+     </variablelist>
+    </para>
+ 
    </section>
 
    <section id="filesystem.resources">
@@ -43,6 +89,10 @@
     <simpara>
      For related functions, see also the <link linkend="ref.dir">Directory</link>
      and <link linkend="ref.exec">Program Execution</link> sections.
+    </simpara>
+    <simpara>
+     For a list and explanation of the various URL wrappers that can be used
+     as remote files, see also <xref linkend="wrappers"/>.
     </simpara>
    </section>
 
Index: phpdoc/en/reference/filesystem/functions/fopen.xml
diff -u phpdoc/en/reference/filesystem/functions/fopen.xml:1.4 
phpdoc/en/reference/filesystem/functions/fopen.xml:1.5
--- phpdoc/en/reference/filesystem/functions/fopen.xml:1.4      Mon Sep 16 14:13:37 
2002
+++ phpdoc/en/reference/filesystem/functions/fopen.xml  Mon Sep 23 22:53:08 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- splitted from ./en/functions/filesystem.xml, last change in rev 1.2 -->
   <refentry id="function.fopen">
    <refnamediv>
@@ -16,68 +16,41 @@
       <methodparam 
choice="opt"><type>resource</type><parameter>zcontext</parameter></methodparam>
      </methodsynopsis>
     <simpara>
-     If <parameter>filename</parameter> begins with "http://"; (not
-     case sensitive), an HTTP 1.0 connection is opened to the
-     specified server, the page is requested using the HTTP GET
-     method, and a file pointer is returned to the beginning
-     of the body of the response. A 'Host:' header is sent with the
-     request in order to handle name-based virtual hosts.
-    </simpara>
-    <simpara>
-     As of PHP 4.3.0, if you have compiled in support for OpenSSL, 
-     you may use "https://"; to open an HTTP connection over SSL.
-    </simpara>
-    <simpara>
-     Note that the file pointer allows you to retrieve only the
-     <emphasis>body</emphasis> of the response; to retrieve the HTTP
-     response header you need to be using PHP 4.0.5 or later;
-     The headers will be stored in the $http_response_header variable.
-     As of PHP 4.3.0, the header information can be retrieved using 
-     <function>file_get_wrapper_data</function>.
-    </simpara>
-    <simpara>
-     HTTP connections are read-only; you cannot write data or copy
-     files to an HTTP resource.
-    </simpara>
-    <simpara>
-     Versions prior to PHP 4.0.5 do not handle HTTP redirects. Because
-     of this, directories must include trailing slashes.
-    </simpara>
-    <simpara>
-     If <parameter>filename</parameter> begins with "ftp://"; (not case
-     sensitive), an ftp connection to the specified server is opened
-     and a pointer to the requested file is returned. If the server
-     does not support passive mode ftp, this will fail. You can open
-     files for either reading or writing via ftp (but not both
-     simultaneously).  If the remote file already exists on the ftp
-     server and you attempt to open it for writing, this will fail.
-     If you need to update existing files over ftp, use
-     <function>ftp_connect</function>.
-    </simpara>
-    <simpara>
-     As of PHP 4.3.0, if you have compiled in support for OpenSSL, 
-     you may use "ftps://" to open an FTP connection that will
-     use SSL to encrypt the connection.  PHP will fall-back and
-     work just like regular ftp:// if the server does not support
-     SSL.
-    </simpara>
-    <simpara>
-     If <parameter>filename</parameter> is one of "php://stdin",
-     "php://stdout", or "php://stderr", the corresponding stdio
-     stream will be opened.  (This was introduced in PHP 3.0.13;
-     in earlier versions, a filename such as "/dev/stdin" or
-     "/dev/fd/0" must be used to access the stdio streams.)
-    </simpara>
-    <simpara>
-     If <parameter>filename</parameter> begins with anything else, the
-     file will be opened from the filesystem, and a file pointer to
-     the file opened is returned.
-    </simpara>
-    <simpara>
-     If the open fails, the function returns &false;.
+     <function>fopen</function> binds a named resource, specified
+     by <parameter>filename</parameter>, to a stream.  If
+     <parameter>filename</parameter> is of the form "scheme://...",
+     it is assumed to be a URL and PHP will search for a protocol
+     handler (also known as a wrapper) for that scheme. If no
+     wrappers for that protocol are registered, PHP will emit
+     a notice to help you track potential problems in your script
+     and then continue as though <parameter>filename</parameter>
+     specifies a regular file.
+    </simpara>
+    <simpara>
+     If PHP has decided that <parameter>filename</parameter> specifies
+     a local file, then it will try to open a stream on that file.
+     The file must be accessible to PHP, so you need to ensure that
+     the file access permissions allow this access.  
+     If you have enabled <link linkend="ini.safe-mode">safe_mode</link>,
+     or <link linkend="ini.open-basedir">open_basedir</link> further
+     restrictions may apply.
+    </simpara>
+    <simpara>
+     If PHP has decided that <parameter>filename</parameter> specifies
+     a registered protocol, and that protocol is registered as a
+     network URL, PHP will check to make sure that
+     <link linkend="ini.allow-url-fopen">allow_url_fopen</link> is
+     enabled. If it is switched off, PHP will emit a warning and
+     the fopen call will fail.
     </simpara>
+    <note>
+     <simpara>
+      The list of supported protocols can be found in <xref linkend="wrappers"/>.
+     </simpara>
+    </note>
     <para>
-     <parameter>mode</parameter> may be any of the following:
+     <parameter>mode</parameter> specifies the type of access you
+     require to the stream.  It may be any of the following:
      <itemizedlist>
       <listitem>
        <simpara>
@@ -126,7 +99,8 @@
       The <parameter>mode</parameter> may contain the letter
       'b'. This is useful only on systems which differentiate between
       binary and text files (i.e. Windows. It's useless on Unix). 
-      If not needed, this will be ignored.
+      If not needed, this will be ignored.  You are encouraged to
+      include the 'b' flag in order to make your scripts more portable.
      </para>
     </note>
     <para>
@@ -138,6 +112,9 @@
      The optional fourth <parameter>zcontext</parameter> is used for 
      specifying tuning parameters and callbacks.
     </para>
+    <simpara>
+     If the open fails, the function returns &false;.
+    </simpara>
     <para>
      <example>
       <title><function>fopen</function> example</title>
@@ -173,7 +150,7 @@
      </informalexample>
     </para>
     <simpara>
-     See also <xref linkend="wrappers"/>
+     See also <xref linkend="wrappers"/>,
      <function>fclose</function>,
      <function>fgets</function>, 
      <function>fsockopen</function>,

-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to