mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 08:28:54 +00:00
Split wrappers.xml into wrappers/*.xml
Completely restructured, although very few content changes (only in http.xml and file.xml) # These need a complete readthrough to remove 'you', inline version notes, # version info, and general updating git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@306233 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
0337085f73
commit
8e2783c965
13 changed files with 2321 additions and 1760 deletions
File diff suppressed because it is too large
Load diff
196
language/wrappers/audio.xml
Normal file
196
language/wrappers/audio.xml
Normal file
|
@ -0,0 +1,196 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.audio" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>ogg://</refname>
|
||||
<refpurpose>Audio streams</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
Files opened for reading via the <filename>ogg://</filename> wrapper
|
||||
are treated as compressed audio encoded using the <literal>OGG/Vorbis</literal> codec.
|
||||
Similarly, files opened for writing or appending via the
|
||||
<filename>ogg://</filename> wrapper are writen as compressed audio data.
|
||||
<function>stream_get_meta_data</function>, when used on an <literal>OGG/Vorbis</literal>
|
||||
file opened for reading will return various details about the stream
|
||||
including the <parameter>vendor</parameter> tag, any included
|
||||
<parameter>comments</parameter>, the number of
|
||||
<parameter>channels</parameter>, the sampling <parameter>rate</parameter>,
|
||||
and the encoding rate range described by:
|
||||
<parameter>bitrate_lower</parameter>, <parameter>bitrate_upper</parameter>,
|
||||
<parameter>bitrate_nominal</parameter>, and <parameter>bitrate_window</parameter>.
|
||||
</para>
|
||||
|
||||
<simpara><filename>ogg://</filename> PHP 4.3.0 and up (PECL) </simpara>
|
||||
<note>
|
||||
<title>This wrapper is not enabled by default</title>
|
||||
<simpara>
|
||||
In order to use the <filename>ogg://</filename> wrapper you must install
|
||||
the <link xlink:href="&url.pecl.package;oggvorbis">OGG/Vorbis</link> extension
|
||||
available from <link xlink:href="&url.pecl;">PECL</link>.
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>ogg://soundfile.ogg</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ogg:///path/to/soundfile.ogg</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ogg://http://www.example.com/path/to/soundstream.ogg</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
<!-- FIXME: This should not be here! context.audio... -->
|
||||
<para>
|
||||
<table>
|
||||
<title>Context options</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Name</entry>
|
||||
<entry>Usage</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Mode</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>pcm_mode</literal></entry>
|
||||
<entry>
|
||||
PCM encoding to apply while reading, one of:
|
||||
<constant>OGGVORBIS_PCM_U8</constant>, <constant>OGGVORBIS_PCM_S8</constant>,
|
||||
<constant>OGGVORBIS_PCM_U16_BE</constant>, <constant>OGGVORBIS_PCM_S16_BE</constant>,
|
||||
<constant>OGGVORBIS_PCM_U16_LE</constant>, and <constant>OGGVORBIS_PCM_S16_LE</constant>.
|
||||
(8 vs 16 bit, signed or unsigned, big or little <literal>endian</literal>)
|
||||
</entry>
|
||||
<entry>OGGVORBIS_PCM_S16_LE</entry>
|
||||
<entry>Read</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>rate</literal></entry>
|
||||
<entry>
|
||||
Sampling rate of input data, expressed in Hz
|
||||
</entry>
|
||||
<entry>44100</entry>
|
||||
<entry>Write/Append</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>bitrate</literal></entry>
|
||||
<entry>
|
||||
When given as an integer, the fixed bitrate at which to encode. (16000 to 131072)
|
||||
When given as a float, the variable bitrate quality to use. (-1.0 to 1.0)
|
||||
</entry>
|
||||
<entry>128000</entry>
|
||||
<entry>Write/Append</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>channels</literal></entry>
|
||||
<entry>
|
||||
The number of audio channels to encode, typically 1 (Mono), or 2 (Stero).
|
||||
May range as high as 16.
|
||||
</entry>
|
||||
<entry>2</entry>
|
||||
<entry>Write/Append</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>comments</literal></entry>
|
||||
<entry>
|
||||
An array of string values to encode into the track header.
|
||||
</entry>
|
||||
<entry/>
|
||||
<entry>Write/Append</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
131
language/wrappers/compression.xml
Normal file
131
language/wrappers/compression.xml
Normal file
|
@ -0,0 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.compression" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>zlib, bzip2 and zip</refname>
|
||||
<refpurpose>Compression Streams</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<simpara><filename>zlib:</filename> PHP 4.0.4 - PHP 4.2.3 (systems with fopencookie only)</simpara>
|
||||
<simpara><filename>compress.zlib://</filename> and <filename>compress.bzip2://</filename> PHP 4.3.0 and up</simpara>
|
||||
|
||||
<simpara>
|
||||
<filename>zlib:</filename> 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.0 due
|
||||
to ambiguities with filenames containing ':' characters; use
|
||||
<filename>compress.zlib://</filename> instead.
|
||||
</simpara>
|
||||
|
||||
<simpara>
|
||||
<filename>compress.zlib://</filename> and
|
||||
<filename>compress.bzip2://</filename> are equivalent to
|
||||
<function>gzopen</function> and <function>bzopen</function>
|
||||
respectively, and operate even on systems that do not support
|
||||
fopencookie.
|
||||
</simpara>
|
||||
<para>
|
||||
<link linkend="book.zip">ZIP extension</link> registers <filename>zip:</filename> wrapper.
|
||||
</para>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>zlib:</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>compress.zlib://</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>compress.bzip2://</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>
|
||||
No, use the normal <literal>file://</literal> wrapper
|
||||
to stat compressed files.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>
|
||||
No, use the normal <literal>file://</literal> wrapper
|
||||
to unlink compressed files.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
140
language/wrappers/data.xml
Normal file
140
language/wrappers/data.xml
Normal file
|
@ -0,0 +1,140 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.data" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>data://</refname>
|
||||
<refpurpose>Data (RFC 2397)</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
The <filename>data:</filename> (<link xlink:href="&url.rfc;2397">RFC
|
||||
2397</link>) stream wrapper is available since PHP 5.2.0.
|
||||
</para>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>data://text/plain;base64,</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-include">allow_url_include</link></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title>Print data:// contents</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
// prints "I love PHP"
|
||||
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Fetch the media type</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$fp = fopen('data://text/plain;base64,', 'r');
|
||||
$meta = stream_get_meta_data($fp);
|
||||
|
||||
// prints "text/plain"
|
||||
echo $meta['mediatype'];
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
119
language/wrappers/expect.xml
Normal file
119
language/wrappers/expect.xml
Normal file
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.expect" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>expect://</refname>
|
||||
<refpurpose>Process Interaction Streams</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
Streams opened via the <filename>expect://</filename> wrapper provide
|
||||
access to process'es stdio, stdout and stderr via PTY.
|
||||
</para>
|
||||
<note>
|
||||
<title>This wrapper is not enabled by default</title>
|
||||
<simpara>
|
||||
In order to use the <filename>expect://</filename> wrapper you must install
|
||||
the <link xlink:href="&url.pecl.package;expect">Expect</link> extension
|
||||
available from <link xlink:href="&url.pecl;">PECL</link>.
|
||||
</simpara>
|
||||
</note>
|
||||
<simpara><filename>expect://</filename> PHP 4.3.0 and up (PECL) </simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>expect://command</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
143
language/wrappers/file.xml
Normal file
143
language/wrappers/file.xml
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.file" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>Filesystem</refname>
|
||||
<refpurpose>Accessing local filesystem</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
<emphasis>Filesystem</emphasis> is the default wrapper used with PHP and represents the local filesystem.
|
||||
When a relative path is specified (a path which does not begin with /, \, \\, or a Windows drive letter)
|
||||
the path provided will be applied against the current working directory. In many cases this is the
|
||||
directory in which the script resides unless it has been changed. Using the CLI sapi, this defaults
|
||||
to the directory from which the script was called.
|
||||
</para>
|
||||
<simpara>
|
||||
With some functions, such as <function>fopen</function> and <function>file_get_contents</function>,
|
||||
<literal>include_path</literal> may be optionally searched for relative paths as well.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>/path/to/file.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>relative/path/to/file.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>fileInCwd.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>C:/path/to/winfile.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>C:\path\to\winfile.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>\\smbserver\share\path\to\winfile.ext</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>file:///path/to/file.ext</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="changelog"><!-- {{{ -->
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>5.0.0</entry>
|
||||
<entry>
|
||||
Added <literal>file://</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
187
language/wrappers/ftp.xml
Normal file
187
language/wrappers/ftp.xml
Normal file
|
@ -0,0 +1,187 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.ftp" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>FTP and FTPS</refname>
|
||||
<refpurpose>Accessing FTP(s) URLs</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<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 but have not specified
|
||||
the context option <literal>overwrite</literal>, the connection
|
||||
will fail. If you need to overwrite existing files over ftp,
|
||||
specify the <literal>overwrite</literal> option in the context
|
||||
and open the file for writing. Alternatively, you can
|
||||
use the <link linkend="ref.ftp">FTP extension</link>.
|
||||
</simpara>
|
||||
<simpara>
|
||||
If you have set the <link linkend="ini.from">from</link> directive
|
||||
in &php.ini;, then this value will be sent as the anonymous FTP
|
||||
password.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>ftp://example.com/pub/file.txt</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ftp://user:password@example.com/pub/file.txt</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ftps://example.com/pub/file.txt</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ftps://user:password@example.com/pub/file.txt</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>PHP 4</entry>
|
||||
<entry>PHP 5</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes (new files only)</entry>
|
||||
<entry>Yes (new files/existing files with <parameter>overwrite</parameter>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>
|
||||
As of PHP 5.0.0: <function>filesize</function>,
|
||||
<function>filetype</function>, <function>file_exists</function>,
|
||||
<function>is_file</function>, and <function>is_dir</function> elements only.
|
||||
As of PHP 5.1.0: <function>filemtime</function>.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="changelog"><!-- {{{ -->
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
Added <literal>ftps://</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="notes"><!-- {{{ -->
|
||||
&reftitle.notes;
|
||||
<note>
|
||||
<para>
|
||||
FTPS is only supported when the <link linkend="book.openssl">openssl</link>
|
||||
extension is enabled.
|
||||
</para>
|
||||
<simpara>
|
||||
If the server does not support SSL, then the connection falls back
|
||||
to regular unencrypted ftp.
|
||||
</simpara>
|
||||
</note>
|
||||
<note>
|
||||
<title>Appending</title>
|
||||
<simpara>
|
||||
As of PHP 5.0.0 files may be appended via the
|
||||
<literal>ftp://</literal> URL wrapper. In prior versions, attempting
|
||||
to append to a file via <literal>ftp://</literal> will result in failure.
|
||||
</simpara>
|
||||
</note>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
142
language/wrappers/glob.xml
Normal file
142
language/wrappers/glob.xml
Normal file
|
@ -0,0 +1,142 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.glob" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>Glob</refname>
|
||||
<refpurpose>Find pathnames matching pattern</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<simpara>
|
||||
The <filename>glob:</filename> stream wrapper is available since PHP 5.3.0.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>glob://</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-include">allow_url_include</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title>Basic usage</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
// Loop over all *.php files in ext/spl/examples/ directory
|
||||
// and print the filename and its size
|
||||
$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
|
||||
foreach($it as $f) {
|
||||
printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
tree.php: 1.0K
|
||||
findregex.php: 0.6K
|
||||
findfile.php: 0.7K
|
||||
dba_dump.php: 0.9K
|
||||
nocvsdir.php: 1.1K
|
||||
phar_from_dir.php: 1.0K
|
||||
ini_groups.php: 0.9K
|
||||
directorytree.php: 0.9K
|
||||
dba_array.php: 1.1K
|
||||
class_tree.php: 1.8K
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
236
language/wrappers/http.xml
Normal file
236
language/wrappers/http.xml
Normal file
|
@ -0,0 +1,236 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.http" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>HTTP and HTTPS</refname>
|
||||
<refpurpose>Accessing HTTP(s) URLs</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
Allows read-only access to files/resources via HTTP 1.0,
|
||||
using the HTTP GET method. A <literal>Host:</literal> 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 &php.ini; file or the stream context, it will also be included
|
||||
in the request.
|
||||
</para>
|
||||
<simpara>
|
||||
The stream allows access to the <emphasis>body</emphasis> of
|
||||
the resource; the headers are stored in the
|
||||
<varname>$http_response_header</varname> variable.
|
||||
Since PHP 4.3.0, the headers are available using
|
||||
<function>stream_get_meta_data</function>.
|
||||
</simpara>
|
||||
&warn.ssl-non-standard;
|
||||
<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. If it's important to know the URL of the resource where
|
||||
your document came from (after all redirects have been processed),
|
||||
you'll need to process the series of response headers returned by the
|
||||
stream.
|
||||
</simpara>
|
||||
<simpara>
|
||||
If you have set the <link linkend="ini.from">from</link> directive
|
||||
in &php.ini;, and do not define a <literal>From:</literal> header
|
||||
in the <xref linkend="context" />, then this value will be sent as the
|
||||
<literal>From:</literal> header in the HTTP request.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>http://example.com</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>http://example.com/file.php?var1=val1&var2=val2</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>http://user:password@example.com</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>https://example.com</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>https://example.com/file.php?var1=val1&var2=val2</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>https://user:password@example.com</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>N/A</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="changelog"><!-- {{{ -->
|
||||
&reftitle.changelog;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>&Version;</entry>
|
||||
<entry>&Description;</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>4.3.0</entry>
|
||||
<entry>
|
||||
Added <literal>https://</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example xml:id="wrappers.http.example.basic"><!-- {{{ -->
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$url = 'http://www.example.com/redirecting_page.php';
|
||||
|
||||
$fp = fopen($url, 'r');
|
||||
|
||||
/* Prior to PHP 4.3.0 use $http_response_header
|
||||
instead of stream_get_meta_data() */
|
||||
$meta_data = stream_get_meta_data($fp);
|
||||
foreach($meta_data['wrapper_data'] as $response) {
|
||||
|
||||
/* Were we redirected? */
|
||||
if (substr(strtolower($response), 0, 10) == 'location: ') {
|
||||
/* update $url with where we were redirected to */
|
||||
$url = substr($response, 18);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example><!-- }}} -->
|
||||
|
||||
<example xml:id="wrappers.http.example.custom.headers"> <!-- {{{ -->
|
||||
<title>Sending custom headers with an HTTP request</title>
|
||||
<para>
|
||||
Custom headers may be sent with an HTTP request prior to
|
||||
version 5 by taking advantage of a side-effect in the
|
||||
handling of the <literal>user_agent</literal> INI setting.
|
||||
Set <literal>user_agent</literal> to any valid string
|
||||
(such as the default <literal>PHP/version</literal> setting)
|
||||
followed by a carriage-return/line-feed pair and any
|
||||
additional headers.
|
||||
This method works in PHP 4 and all later versions.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");
|
||||
|
||||
$fp = fopen('http://www.example.com/index.php', 'r');
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>Results in the following request being sent:</para>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
GET /index.php HTTP/1.0
|
||||
Host: www.example.com
|
||||
User-Agent: PHP
|
||||
X-MyCustomHeader: Foo
|
||||
]]>
|
||||
</screen>
|
||||
</example><!-- }}} -->
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="notes"><!-- {{{ -->
|
||||
&reftitle.notes;
|
||||
<note>
|
||||
<simpara>
|
||||
HTTPS is only supported when the <link linkend="book.openssl">openssl</link>
|
||||
extension is enabled.
|
||||
</simpara>
|
||||
</note>
|
||||
<simpara>
|
||||
HTTP connections are read-only; writing data or copying
|
||||
files to an HTTP resource is not supported.
|
||||
</simpara>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
111
language/wrappers/phar.xml
Normal file
111
language/wrappers/phar.xml
Normal file
|
@ -0,0 +1,111 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.phar" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>phar://</refname>
|
||||
<refpurpose>PHP Archive</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<simpara>
|
||||
The <filename>phar://</filename> stream wrapper is available since
|
||||
PHP 5.3.0. See <link linkend="phar.using.stream">Phar stream wrapper</link>
|
||||
for detailed description.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>phar://</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-include">allow_url_include</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
315
language/wrappers/php.xml
Normal file
315
language/wrappers/php.xml
Normal file
|
@ -0,0 +1,315 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.php" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>PHP input/output</refname>
|
||||
<refpurpose>Accessing various I/O streams</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
<filename>php://stdin</filename>, <filename>php://stdout</filename>
|
||||
and <filename>php://stderr</filename> allow direct access to
|
||||
the corresponding input or output stream of the PHP process. The stream
|
||||
references a duplicate file descriptor, so if you open
|
||||
<filename>php://stdin</filename> and later close it, you close only your
|
||||
copy of the descriptor-the actual stream referenced by
|
||||
<constant>STDIN</constant> is unaffected. Note that PHP exhibited buggy
|
||||
behavior in this regard until PHP 5.2.1. It is recommended that you simply
|
||||
use the constants <constant>STDIN</constant>, <constant>STDOUT</constant>
|
||||
and <constant>STDERR</constant> instead of manually opening streams using
|
||||
these wrappers.
|
||||
</para>
|
||||
<simpara>
|
||||
<filename>php://output</filename> allows you to write to the
|
||||
output buffer mechanism in the same way as
|
||||
<function>print</function> and <function>echo</function>.
|
||||
</simpara>
|
||||
<simpara>
|
||||
<filename>php://input</filename> allows you to read raw data
|
||||
from the request body.
|
||||
In case of POST requests, it preferrable to
|
||||
<varname>$HTTP_RAW_POST_DATA</varname> as it does not depend on
|
||||
special &php.ini; directives. Moreover, for those cases where
|
||||
<varname>$HTTP_RAW_POST_DATA</varname> is not populated by
|
||||
default, it is a potentially less memory intensive alternative
|
||||
to activating <link linkend="ini.always-populate-raw-post-data">always_populate_raw_post_data</link>.
|
||||
<filename>php://input</filename> is not available with
|
||||
<literal>enctype="multipart/form-data"</literal>.
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
A stream opened with <filename>php://input</filename> can only be read
|
||||
once; the stream does not support seek operations. However, depending
|
||||
on the SAPI implementation, it may be possible to open another
|
||||
<filename>php://input</filename> stream and restart reading. This is
|
||||
only possible if the request body data has been saved. Typically, this
|
||||
is the case for POST requests, but not other request methods, such as
|
||||
PUT or PROPFIND.
|
||||
</simpara>
|
||||
</note>
|
||||
<simpara>
|
||||
<filename>php://stdin</filename> and
|
||||
<filename>php://input</filename> are read-only, whereas
|
||||
<filename>php://stdout</filename>,
|
||||
<filename>php://stderr</filename> and
|
||||
<filename>php://output</filename> are write-only.
|
||||
</simpara>
|
||||
|
||||
<simpara>
|
||||
<filename>php://filter</filename> is a kind of meta-wrapper designed
|
||||
to permit the application of filters to a stream at the time of
|
||||
opening. This is useful with all-in-one file functions such as
|
||||
<function>readfile</function>, <function>file</function>, and
|
||||
<function>file_get_contents</function> where there is otherwise
|
||||
no opportunity to apply a filter to the stream prior the contents
|
||||
being read.
|
||||
</simpara>
|
||||
<simpara>
|
||||
The <filename>php://filter</filename> target takes the following
|
||||
'parameters' as parts of its 'path'.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>php://stdin</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>php://stdout</filename></simpara></listitem>
|
||||
<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> (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>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>
|
||||
Wrapper Summary (For <literal>php://filter</literal>,
|
||||
refer to summary of wrapper being filtered.)
|
||||
</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-include">allow_url_include</link></entry>
|
||||
<entry>
|
||||
<literal>php://input</literal>,
|
||||
<literal>php://stdin</literal>,
|
||||
<literal>php://memory</literal> and
|
||||
<literal>php://temp</literal> only.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>
|
||||
<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>,
|
||||
<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>,
|
||||
<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>
|
||||
<literal>php://memory</literal> and
|
||||
<literal>php://temp</literal> only.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>
|
||||
<literal>php://memory</literal> and
|
||||
<literal>php://temp</literal> only.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stream_select</function></entry>
|
||||
<entry>
|
||||
<literal>php://stdin</literal>, <literal>php://stdout</literal>,
|
||||
<literal>php://stderr</literal> and <literal>php://temp</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example><!-- {{{ -->
|
||||
<title>/resource=<stream to be filtered> (<emphasis>required</emphasis>)</title>
|
||||
<para>
|
||||
This parameter must be located at
|
||||
the end of your <filename>php://filter</filename> specification and
|
||||
should point to the stream which you want filtered.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/* This is equivalent to simply:
|
||||
readfile("http://www.example.com");
|
||||
since no filters are actually specified */
|
||||
|
||||
readfile("php://filter/resource=http://www.example.com");
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example><!-- }}} -->
|
||||
<example><!-- {{{ -->
|
||||
<title>/read=<filter list to apply to read chain> (<emphasis>optional</emphasis>)</title>
|
||||
<para>
|
||||
This parameter takes one or more
|
||||
filternames separated by the pipe character <literal>|</literal>.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/* This will output the contents of
|
||||
www.example.com entirely in uppercase */
|
||||
readfile("php://filter/read=string.toupper/resource=http://www.example.com");
|
||||
|
||||
/* This will do the same as above
|
||||
but will also ROT13 encode it */
|
||||
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example><!-- }}} -->
|
||||
<example><!-- {{{ -->
|
||||
<title>/write=<filter list to apply to write chain> (<emphasis>optional</emphasis>)</title>
|
||||
<para>
|
||||
This parameter takes one or more
|
||||
filternames separated by the pipe character <literal>|</literal>.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/* This will filter the string "Hello World"
|
||||
through the rot13 filter, then write to
|
||||
example.txt in the current directory */
|
||||
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example><!-- }}} -->
|
||||
<!-- {{{ -->
|
||||
<simpara>
|
||||
<literal>/<filter list to apply to both chains></literal> (<emphasis>optional</emphasis>)
|
||||
Any filter lists which are not
|
||||
prefixed specifically by <literal>read=</literal> or
|
||||
<literal>write=</literal> will be applied to both the read and
|
||||
write chains (as appropriate).
|
||||
</simpara>
|
||||
|
||||
<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>
|
||||
<!-- }}} -->
|
||||
<example><!-- {{{ -->
|
||||
<title>/maxmemory:<number of bytes> (<emphasis>optional</emphasis>)</title>
|
||||
<para>
|
||||
This parameter allows changing the
|
||||
default value for the memory limit (when the data is moved to a temporary
|
||||
file).
|
||||
</para>
|
||||
<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>
|
||||
</example><!-- }}} -->
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
300
language/wrappers/rar.xml
Normal file
300
language/wrappers/rar.xml
Normal file
|
@ -0,0 +1,300 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.rar" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>rar://</refname>
|
||||
<refpurpose>RAR</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
The wrapper takes the url encoded path to the RAR archive (relative or absolute),
|
||||
an optional asterik (<literal>*</literal>), an optional number sign
|
||||
(<literal>#</literal>) and an optional url encoded entry name, as stored in the
|
||||
archive. Specifying an entry name requires the number sign; a leading forward
|
||||
slash in the entry name is optional.
|
||||
</para>
|
||||
|
||||
<simpara>
|
||||
This wrapper can open both files and directories. When opening directories, the
|
||||
asterisk sign forces the directory entries names to be returned unencoded. If it's
|
||||
not specified, they will be returned url encoded – the reason for this is to allow
|
||||
the wrapper to be correctly used with built-in functionality like the
|
||||
<type>RecursiveDirectoryIterator</type> in the presence of file names that seem like
|
||||
url encoded data.
|
||||
</simpara>
|
||||
|
||||
<simpara>
|
||||
If the pound sign and the entry name part are not included, the root of the archive
|
||||
will be displayed. This differs from regular directories in that the resulting
|
||||
stream will not contain information such as the modification time, as the root
|
||||
directory is not stored in an inidivual entry in the archive.
|
||||
The usage of the the wrapper with <type>RecursiveDirectoryIterator</type> requires
|
||||
the number sign to be included in the URL when accessing the root, so that the
|
||||
URLs of the children may be constructed correctly.
|
||||
</simpara>
|
||||
<note>
|
||||
<title>This wrapper is not enabled by default</title>
|
||||
<simpara>
|
||||
In order to use the <filename>rar://</filename> wrapper, you must install
|
||||
the <link xlink:href="&url.pecl.package;rar">rar</link> extension
|
||||
available from <link xlink:href="&url.pecl;">PECL</link>.
|
||||
</simpara>
|
||||
</note>
|
||||
<simpara>
|
||||
<filename>rar://</filename>
|
||||
Available since PECL rar 3.0.0
|
||||
</simpara>
|
||||
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>rar://<url encoded archive name>[*][#[<url encoded entry name>]]</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>Supported</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-include">allow_url_include</link></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
|
||||
<!-- FIXME: This should be context.rar ! -->
|
||||
<para>
|
||||
<table>
|
||||
<title>Context options</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Name</entry>
|
||||
<entry>Usage</entry>
|
||||
<entry>Default</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>open_password</literal></entry>
|
||||
<entry>The password used to encrypt the headers of the archive,
|
||||
if any. WinRAR will encrypt all the files with the same password
|
||||
as the headers password when the later is present, so for archives
|
||||
with encrypted headers, <literal>file_password</literal> will be
|
||||
ignored.
|
||||
</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>file_password</literal></entry>
|
||||
<entry>The password used to encrypt a file, if any. If the headers
|
||||
are also encrypted, this option will be ignored in favor of
|
||||
<literal>open_password</literal>. The reason there are two options
|
||||
is to cover the possibility of supporting archives with different
|
||||
headers and file passwords, should those archives arise. Note that
|
||||
if the archive does not have its headers encrypted,
|
||||
<literal>open_password</literal> will be ignored and this option
|
||||
must be used instead.
|
||||
</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>volume_callback</literal></entry>
|
||||
<entry>A callback to determine the path of missing volumes. See
|
||||
<methodname>RarArchive::open</methodname> for more information.
|
||||
</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title>Traversing a RAR archive</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
class MyRecDirIt extends RecursiveDirectoryIterator {
|
||||
function current() {
|
||||
return rawurldecode($this->getSubPathName()) .
|
||||
(is_dir(parent::current())?" [DIR]":"");
|
||||
}
|
||||
}
|
||||
|
||||
$f = "rar://" . rawurlencode(dirname(__FILE__)) .
|
||||
DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';
|
||||
|
||||
$it = new RecursiveTreeIterator(new MyRecDirIt($f));
|
||||
|
||||
foreach ($it as $s) {
|
||||
echo $s, "\n";
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
|-allow_everyone_ni [DIR]
|
||||
|-file1.txt
|
||||
|-file2_אּ.txt
|
||||
|-with_streams.txt
|
||||
\-אּ [DIR]
|
||||
|-אּ\%2Fempty%2E [DIR]
|
||||
| \-אּ\%2Fempty%2E\file7.txt
|
||||
|-אּ\empty [DIR]
|
||||
|-אּ\file3.txt
|
||||
|-אּ\file4_אּ.txt
|
||||
\-אּ\אּ_2 [DIR]
|
||||
|-אּ\אּ_2\file5.txt
|
||||
\-אּ\אּ_2\file6_אּ.txt
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
<example>
|
||||
<title>Opening an encrypted file (header encryption)</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$stream = fopen("rar://" .
|
||||
rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
|
||||
'encrypted_headers.rar' . '#encfile1.txt', "r", false,
|
||||
stream_context_create(
|
||||
array(
|
||||
'rar' =>
|
||||
array(
|
||||
'open_password' => 'samplepassword'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
var_dump(stream_get_contents($stream));
|
||||
/* creation and last access date is opt-in in WinRAR, hence most
|
||||
* files don't have them */
|
||||
var_dump(fstat($stream));
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
string(26) "Encrypted file 1 contents."
|
||||
Array
|
||||
(
|
||||
[0] => 0
|
||||
[1] => 0
|
||||
[2] => 33206
|
||||
[3] => 1
|
||||
[4] => 0
|
||||
[5] => 0
|
||||
[6] => 0
|
||||
[7] => 26
|
||||
[8] => 0
|
||||
[9] => 1259550052
|
||||
[10] => 0
|
||||
[11] => -1
|
||||
[12] => -1
|
||||
[dev] => 0
|
||||
[ino] => 0
|
||||
[mode] => 33206
|
||||
[nlink] => 1
|
||||
[uid] => 0
|
||||
[gid] => 0
|
||||
[rdev] => 0
|
||||
[size] => 26
|
||||
[atime] => 0
|
||||
[mtime] => 1259550052
|
||||
[ctime] => 0
|
||||
[blksize] => -1
|
||||
[blocks] => -1
|
||||
)
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
274
language/wrappers/ssh2.xml
Normal file
274
language/wrappers/ssh2.xml
Normal file
|
@ -0,0 +1,274 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision: 296080 $ -->
|
||||
|
||||
<refentry xml:id="wrappers.ssh2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
|
||||
<refnamediv>
|
||||
<refname>ssh2://</refname>
|
||||
<refpurpose>Secure Shell 2</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description"><!-- {{{ -->
|
||||
&reftitle.description;
|
||||
<para>
|
||||
<filename>ssh2.shell://</filename>
|
||||
<filename>ssh2.exec://</filename>
|
||||
<filename>ssh2.tunnel://</filename>
|
||||
<filename>ssh2.sftp://</filename>
|
||||
<filename>ssh2.scp://</filename>
|
||||
PHP 4.3.0 and up (PECL)
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<title>This wrapper is not enabled by default</title>
|
||||
<simpara>
|
||||
In order to use the <filename>ssh2.*://</filename> wrappers you must install
|
||||
the <link xlink:href="&url.pecl.package;ssh2">SSH2</link> extension
|
||||
available from <link xlink:href="&url.pecl;">PECL</link>.
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
<simpara>
|
||||
In addition to accepting traditional URI login details, the ssh2 wrappers
|
||||
will also reuse open connections by passing the connection resource in the
|
||||
host portion of the URL.
|
||||
</simpara>
|
||||
</refsect1><!-- }}} -->
|
||||
|
||||
<refsect1 role="usage"> <!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<itemizedlist>
|
||||
<listitem><simpara><filename>ssh2.shell://user:pass@example.com:22/xterm</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14</filename></simpara></listitem>
|
||||
<listitem><simpara><filename>ssh2.sftp://user:pass@example.com:22/path/to/filename</filename></simpara></listitem>
|
||||
</itemizedlist>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="options"><!-- {{{ -->
|
||||
&reftitle.options;
|
||||
<para>
|
||||
<table>
|
||||
<title>Wrapper Summary</title>
|
||||
<tgroup cols="6">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute</entry>
|
||||
<entry>ssh2.shell</entry>
|
||||
<entry>ssh2.exec</entry>
|
||||
<entry>ssh2.tunnel</entry>
|
||||
<entry>ssh2.sftp</entry>
|
||||
<entry>ssh2.scp</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>Restricted by <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Reading</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Appending</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes (When supported by server)</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Allows Simultaneous Reading and Writing</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>stat</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>unlink</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rename</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>mkdir</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Supports <function>rmdir</function></entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>No</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
|
||||
|
||||
<!-- FIXME: This should be context.ssh2!!! -->
|
||||
<para>
|
||||
<table>
|
||||
<title>Context options</title>
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Name</entry>
|
||||
<entry>Usage</entry>
|
||||
<entry>Default</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>session</literal></entry>
|
||||
<entry>Preconnected ssh2 resource to be reused</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>sftp</literal></entry>
|
||||
<entry>Preallocated sftp resource to be reused</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>methods</literal></entry>
|
||||
<entry>Key exchange, hostkey, cipher, compression, and MAC methods to use</entry>
|
||||
<entry/>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>callbacks</literal></entry>
|
||||
<entry></entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>username</literal></entry>
|
||||
<entry>Username to connect as</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>password</literal></entry>
|
||||
<entry>Password to use with password authentication</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>pubkey_file</literal></entry>
|
||||
<entry>Name of public key file to use for authentication</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>privkey_file</literal></entry>
|
||||
<entry>Name of private key file to use for authentication</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>env</literal></entry>
|
||||
<entry>Associate array of environment variables to set</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>term</literal></entry>
|
||||
<entry>Terminal emulation type to request when allocating a pty</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>term_width</literal></entry>
|
||||
<entry>Width of terminal requested when allocating a pty</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>term_height</literal></entry>
|
||||
<entry>Height of terminal requested when allocating a pty</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>term_units</literal></entry>
|
||||
<entry>Units to use with term_width and term_height</entry>
|
||||
<entry><constant>SSH2_TERM_UNIT_CHARS</constant></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</para>
|
||||
</refsect1> <!-- }}} -->
|
||||
|
||||
<refsect1 role="examples"><!-- {{{ -->
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
<title>Opening a stream from an active connection</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$session = ssh2_connect('example.com', 22);
|
||||
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
|
||||
'/home/username/.ssh/id_rsa', 'secret');
|
||||
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
</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:"~/.phpdoc/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
|
||||
-->
|
||||
|
Loading…
Reference in a new issue