tom Sun Mar 24 05:24:23 2002 EDT
Modified files:
/phpdoc/de/features file-upload.xml
Log:
translation is up-to-date now
Index: phpdoc/de/features/file-upload.xml
diff -u phpdoc/de/features/file-upload.xml:1.7 phpdoc/de/features/file-upload.xml:1.8
--- phpdoc/de/features/file-upload.xml:1.7 Wed Dec 12 15:46:05 2001
+++ phpdoc/de/features/file-upload.xml Sun Mar 24 05:24:23 2002
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.35 Maintainer: tom Status: ready -->
<chapter id="features.file-upload">
<title>Steuerung von Dateiuploads</title>
@@ -6,159 +7,328 @@
<title>Dateiuploads mit POST</title>
<simpara>
- PHP kann Dateiuploads mit jedem RFC-1867
- konformen Browser (dazu geh�ren der Natscape Navigator
- 3 oder h�her, Microsoft Internet Explorer 3 mit Patch von
- Microsoft oder h�her ohne Patch) durchf�hren. Es k�nnen
- sowohl Text- als auch Bin�rdaten hochgeladen werden.
- Mit PHP�s Authentifizierungs- und Dateifunktionen besteht
- volle Kontrolle dar�ber, wer Dateien hochladen darf und was
- mit den Dateien geschehen soll, wenn der Upload beendet ist.
+ PHP kann Dateiuploads mit jedem RFC-1867 konformen Browser
+ (dazu geh�ren der Netscape Navigator 3 oder h�her, Microsoft
+ Internet Explorer 3 mit einem Patch von Microsoft oder h�her
+ ohne Patch) durchf�hren. Es k�nnen sowohl Text- als auch
+ Bin�rdaten hochgeladen werden. Mit PHP�s Authentifizierungs-
+ und Dateifunktionen besteht volle Kontrolle dar�ber, wer
+ Dateien hochladen darf und was mit den Dateien geschehen soll,
+ wenn der Upload beendet ist.
</simpara>
-
<para>
PHP unterst�tzt auch Dateiuploads nach der PUT-Methode, die
beispielsweise vom Netscape Composer und den W3C Amaya
- Clients benutzt wird. Siehe dazu <link
linkend="features.file-upload.put-method">PUT-Unterst�tzung</link>
- f�r n�here Informationen.</para>
-
+ Clients benutzt wird. Siehe dazu <link
+ linkend="features.file-upload.put-method">PUT-Unterst�tzung</link>
+ f�r n�here Informationen.
+ </para>
<para>
- Eine Maske f�r den Dateiuplod kann erstellt werden, indem man
- ein Formular entwirft, was ungef�hr so aussieht:
-
+ Eine Maske f�r den Dateiupload kann erstellt werden, indem man
+ ein Formular entwirft, das ungef�hr so aussieht:
<example>
<title>Formular f�r den Dateiupload</title>
- <programlisting>
-<FORM ENCTYPE="multipart/form-data" ACTION="_URL_"
METHOD=POST>
-<INPUT TYPE="hidden" name="MAX_FILE_SIZE"
value="1000">
-Send this file: <INPUT NAME="userfile" TYPE="file">
-<INPUT TYPE="submit" VALUE="Send File">
-</FORM>
- </programlisting>
+ <programlisting role="html">
+<![CDATA[
+<form enctype="multipart/form-data" action="_URL_" method="post">
+<input type="hidden" name="MAX_FILE_SIZE" value="1000">
+Send this file: <input name="userfile" type="file">
+<input type="submit" value="Send File">
+</form>
+]]>
+ </programlisting>
</example>
-
- Die URL sollte auf eine PHP-Datei verweisen. Das versteckte Feld
- MAX_FILE_SIZE mu� dem Dateieingabefeld vorausgehen und den
- Wert der maximal akzeptierten Dateigr�sse in Bytes enthalten.
- Bei erfolgreichem Upload des Files werden folgende Variablen definiert:
+ Die _URL_ sollte auf eine PHP-Datei verweisen. Das versteckte Feld
+ MAX_FILE_SIZE muss dem Dateieingabefeld vorangestellt werden und den
+ Wert der maximal akzeptierten Dateigr��e in Bytes enthalten.
+ <warning>
+ <para>
+ Die maximale Dateigr��e MAX_FILE_SIZE ist f�r den Browser nur
+ ein Hinweis und es ist leicht, diese Grenze zu umgehen. Also
+ verlassen Sie sich nicht darauf, dass der Browser Ihrem Wunsch
+ auch nachkommt! Wie auch immer, die PHP-Einstellungen f�r die
+ maximale Dateigr��e k�nnen nicht get�uscht werden.
+ </para>
+ </warning>
+ </para>
+
+ <para>
+ Die f�r hochgeladene Dateien definierten Variablen sind je nach
+ PHP Version und Konfiguration verschieden. Die folgenden Variablen
+ werden nach einem erfolgreichen Upload innerhalb des empfangenden
+ Skriptes definiert. Ist <link linkend="ini.track-vars">track_vars</link>
+ aktiviert, ist das $HTTP_POST_FILES bzw. $_FILES Array initialisiert.
+ Wenn <link linkend="ini.register-globals">register_globals</link>
+ aktiviert ist, k�nnen die entsprechenden Variablen auch als globale
+ Variablen initialisiert werden, auch wenn dies nicht mehr nicht mehr
+ empfohlen wird.
</para>
+ <note>
+ <para>
+ <link linkend="ini.track-vars">track_vars</link> ist seit PHP
+ 4.0.3 immer aktiviert, und seit PHP 4.1.0 kann $_FILES statt
+ <varname>$HTTP_POST_FILES</varname> verwendet werden.
+ <varname>$_FILES</varname> ist immer global, weshalb Sie
+ <literal>global</literal> f�r $_FILES innerhalb von Funktionen
+ vermeiden sollten.
+ </para>
+ </note>
+ <para>
+ <varname>$HTTP_POST_FILES</varname>/<varname>$_FILES</varname>
+ beinhalten die Dateiinformationen des Uploads.
+ </para>
+
<para>
+ Im Folgenden sind die Inhalte von <varname>$HTTP_POST_FILES</varname>
+ unter der Annahme, dass der Name des Dateiuploads wie in dem obigen
+ Beispielskript 'userfile' ist, aufgelistet:
+ <variablelist>
+ <varlistentry>
+ <term><varname>$HTTP_POST_FILES['userfile']['name']</varname></term>
+ <listitem>
+ <para>
+ Der urspr�ngliche Dateiname auf der Client Maschine.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>$HTTP_POST_FILES['userfile']['type']</varname></term>
+ <listitem>
+ <para>
+ Der Mime-Type der Datei, falls der Browser diese Information
+ zur Verf�gung gestellt hat. Ein Beispiel w�re
+ <literal>"image/gif"</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>$HTTP_POST_FILES['userfile']['size']</varname></term>
+ <listitem>
+ <para>
+ Die Gr��e der hochgeladenen Datei in Bytes.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>$HTTP_POST_FILES['userfile']['tmp_name']</varname></term>
+ <listitem>
+ <para>
+ Der tempor�re Dateiname, unter dem die hochgeladene Datei auf
+ dem Server gespeichert wurde.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <note>
+ <para>
+ Seit PHP 4.1.0 wird auch die Kurzform <varname>$_FILES</varname>
+ unterst�tzt. PHP 3 unterst�tzt <varname>$HTTP_POST_FILES</varname>
+ nicht.
+ </para>
+ </note>
+
+ <para>
+ Wenn <link linkend="ini.register-globals">register_globals</link>
+ in der <filename>php.ini</filename> aktiviert ist, stehen unter der
+ Annahme, dass der Name des Dateiuploads wie in dem obigen Beispielskript
+ 'userfile' ist, zur Verf�gung:
+
<itemizedlist>
<listitem>
<simpara>
- $userfile - Der tempor�re Name, unter dem die hochgeladene Datei
- auf demServer gespeichert wurde.
+ <varname>$userfile</varname> - Der tempor�re Name, unter dem die
+ hochgeladene Datei auf dem Server gespeichert wurde.
</simpara>
</listitem>
<listitem>
<simpara>
- $userfile_name - Der urspr�ngliche Dateiname auf dem System des
- Absenders.
+ <varname>$userfile_name</varname> - Der urspr�ngliche Dateiname
+ auf dem System des Absenders.
</simpara>
</listitem>
<listitem>
<simpara>
- $userfile_size - Gr��e der hochgeladenen Datei in Bytes.
+ <varname>$userfile_size</varname> - Gr��e der hochgeladenen
+ Datei in Bytes.
</simpara>
</listitem>
<listitem>
<simpara>
- $userfile_type - Der Mime-Typ der Datei, wenn dies
- Information zur Verf�gung gestellt wird. Ein Beispiel w�re
- "image/gif".
+ <varname>$userfile_type</varname> - Der Mime-Type der Datei, falls
+ der Browser diese Information zur Verf�gung gestellt hat. Ein
+ Beispiel w�re "image/gif".
</simpara>
</listitem>
</itemizedlist>
-
- Die Variable "$userfile" tr�gt den Namen des
- Dateifeldes im Formular; im obigen Beispiel haben wir die
- Bezeichnung "userfile" gew�hlt.</para>
-
-
- <simpara>
+ Beachten Sie, dass der Teil "<varname>$userfile</varname>" der
+ obigen Variablen den Namen des Dateifeldes <input name="userfile"
+ type="file"> im Uploadformular tr�gt. In dem obigen Beispiel
+ haben wir es "userfile" genannt.
+ </para>
+ <note>
+ <para>
+ <literal>register_globals = On</literal> wird aus Sicherheits- und
+ Performancegr�nden nicht empfohlen.
+ </para>
+ </note>
+ <para>
Standardm��ig werden Dateien in dem vorgegebenen tempor�ren
- Verzeichnis des Servers gespeichert. Dies kann durch das Setzen
- der Umgebungsvariablen <envar>TMPDIR</envar> direkt in der
- Umgebung, in der PHP ausgef�hrt wird, ge�ndert werden.
- Ein Setzen des tempor�ren Verzeichnisses durch die Funktion
- <function>putenv</function> innerhalb eines Skriptes
- ist nicht m�glich.</simpara>
-
- <simpara>
- Das PHP-Skript, dem die hochzuladende Datei �bergeben wird,
- sollte alle n�tigen Anweisungen enthalten, die festlegen, wie mit
- der hochgeladenen Datei verfahren werden soll. Beispielsweise
- kann die $file_size - Variable verwendet werden, um Dateien
- auszusortieren, die zu gross oder zu klein sind. Oder man
- benutzt die $file_type - Variable, um sich aller Dateien zu entledigen,
- die nicht bestimmten Typen entsprechen. Auf jeden Fall sollte
- die hochgeladene Datei aus dem tempor�ren Verzeichnis gel�scht
- oder an andere Stelle verschoben werden.</simpara>
-
- <simpara>
- Die Datei wird aus dem tempor�ren Verzeichnis gel�scht, sobald
- das Skript abgearbeitet ist, wenn sie nicht verschoben oder
- umbenannt wurde.</simpara></sect1>
+ Verzeichnis des Servers gespeichert, au�er es wurde mittels
+ <link linkend="ini.upload-tmp-dir">upload_tmp_dir</link> in
+ der <filename>php.ini</filename> ein anderer Ort konfiguriert.
+ Das Standardverzeichnis des Servers kann durch das Setzen der
+ Umgebungsvariablen <envar>TMPDIR</envar> in der Umgebung, in der
+ PHP ausgef�hrt wird, ge�ndert werden. Das Setzen mittels der
+ Funktion <function>putenv</function> innerhalb eines Skriptes
+ ist nicht m�glich. Mittels dieser Umgebungsvariable kann auch
+ sichergestellt werden, dass auch andere Operationen an
+ hochgeladenen Dateien arbeiten k�nnen.
+ <example>
+ <title>Dateiuploads pr�fen</title>
+ <para>
+ Die folgenden Beispiele sind f�r PHP Versionen gr��er als PHP
+ 4.0.2. Funktionsbeschreibungen finden Sie f�r
+ <function>is_uploaded_file</function> und
+ <function>move_uploaded_file</function>.
+ </para>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// In PHP 4.1.0 oder h�her sollte $_FILES anstatt $HTTP_POST_FILES verwendet werden.
+if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
+ copy($HTTP_POST_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
+} else {
+ echo "Possible file upload attack. Filename: " .
+$HTTP_POST_FILES['userfile']['name'];
+}
+/* ...oder... */
+move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],
+"/place/to/put/uploaded/file");
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <simpara>
+ Das die hochgeladene Datei empfangene Skript jegliche, f�r den
+ Zweck der hochgeladenen Datei n�tige Logik enthalten. Sie k�nnen
+ zum Beispiel <varname>$HTTP_POST_FILES['userfile']['size']</varname>
+ benutzen, um zu kleine bzw. zu gro�e Dateien wegzuwerfen. Sie k�nnen
+ <varname>$HTTP_POST_FILES['userfile']['type']</varname> nutzen, um
+ Dateien eines unerw�nschten Typs wegzuwerfen. Egal welche Logik Sie
+ verwenden, Sie sollten die Datei in dem tempor�ren Verzeichnis
+ entweder l�schen, oder an einen anderen Ort verschieben.
+ </simpara>
+ <simpara>
+ Wurde die Datei in dem tempor�ren Verzeichnis nicht verschoben oder
+ umbenannt, wird sie am Ende des Requests gel�scht.
+ </simpara>
+ </sect1>
<sect1 id="features.file-upload.common-pitfalls">
<title>H�ufige Probleme</title>
<simpara>
- Der mit MAX_FILE_SIZE eingestellte Wert kann nicht gr�sser
- sein als der durch die Zeile upload_max_filesize der PHP3.ini (oder
- der entsprechenden Zeile php3_upload_max_filesize in der Apache
- Konfigurationsdatei) festgelegte. Standardm��ig sind dies
- 2 MB.</simpara>
- <simpara>
- Bitte beachten, da� der CERN httpd alles abschneidet, was auf
- das erste Leerzeichen im content-type Mime-Header folgt, den
- er vom Client erh�lt. Solange dies der Fall ist, unterst�tzt der
- CERN httpd keine Dateiuploads.</simpara>
+ Der mit <literal>MAX_FILE_SIZE</literal> eingestellte Wert
+ kann nicht gr��er sein als der des ini-Parameters <link
+ linkend="ini.upload-max-filesize">upload_max_filesize</link>.
+ Der Standardwert ist 2 Megabyte.
+ </simpara>
+ <simpara>
+ Ist <literal>memory limit</literal> aktiviert, k�nnte eine Erh�hung
+ von <link linkend="ini.memory-limit">memory_limit</link> n�tig sein.
+ Stellen Sie sicher, dass der Wert von <link
+ linkend="ini.memory-limit">memory_limit</link> gro� genug ist.
+ </simpara>
+<!-- FIXME: max_execution_time INI -->
+ <simpara>
+ Wenn <link linkend="ini.max-execution-time">max_execution_time</link>
+ zu kurz konfiguriert ist, k�nnte das Skript den Wert �berschritten
+ haben. Stellen Sie sicher, dass der Wert von
+ <literal>max_execution_time</literal> gro� genug ist.
+ </simpara>
+ <simpara>
+ Ist <literal>post_max_size</literal> zu klein konfiguriert, k�nnen
+ gro�e Dateien nicht hochgeladen werden. Stellen Sie sicher, dass der
+ Wert von <literal>post_max_size</literal> gro� genug ist.
+ </simpara>
+ <simpara>
+ Nicht zu pr�fen an welcher Datei Sie arbeiten kann bedeuten, dass
+ Benutzer auf sensible Informationen in anderen Verzeichnissen Zugriff
+ erhalten.
+ </simpara>
+ <simpara>
+ Beachten Sie, dass CERN httpd in dem vom Client erhaltenen
+ Content-Type Mime Header alles nach dem ersten Whitespace
+ wegzuschneiden scheint. Solange dies der Fall ist, unterst�tzt
+ CERN httpd keine Dateiuploads.
+ </simpara>
</sect1>
- <sect1 id="feature-fileupload.multiple">
- <title>Mehrere Dateien uploaden</title>
+ <sect1 id="features.file-upload.multiple">
+ <title>Upload mehrerer Dateien</title>
<simpara>
- Es ist m�glich, gleichzeitig mehrere Dateien hochzuladen und
- die Upload-Informationen automatisch in Arrays aufgef�hrt zu
- erhalten. Dabei mu� im HTML-Formular die gleiche Syntax zum
- �bermitteln des Arrays benutzt werden, was man durch verschiedene
- Select- und Checkboxen erreicht.</simpara>
+ Mehrere Dateien k�nnen hochgeladen werden, indem Sie verschiedene
+ Namen <literal>name</literal> f�r <literal>input</literal> verwenden.
+ </simpara>
+ <simpara>
+ Es ist ebenfalls m�glich, mehrere Dateien simultan hochzuladen, und
+ die Informationen automatisch in Arrays zu erhalten. Um dies zu tun,
+ verwenden Sie in dem HTML Formular die gleiche Array-Sende-Syntax
+ wie bei Auswahllisten mit Mehrfachauswahl und Checkboxen:
+ </simpara>
<note>
<para>
- Die Unterst�tzung f�r den Upload mehrerer Dateien wurde in
- Version 3.0.10 hinzugef�gt.</para>
- </note>
-
+ Die Unterst�tzung f�r den Upload von mehreren Dateien wurde in
+ PHP 3.0.10 hinzugef�gt.
+ </para>
+ </note>
<para>
<example>
- <title>Formular zum Upload mehrerer Dateien</title>
- <programlisting>
-<form action="file-upload.html" method="post"
enctype="multipart/form-data">
- Send these files:<br>
- <input name="userfile[]" type="file"><br>
- <input name="userfile[]" type="file"><br>
- <input type="submit" value="Send files">
-</form>
+ <title>Upload mehrerer Dateien</title>
+ <programlisting role="html">
+<![CDATA[
+<form action="file-upload.php" method="post" enctype="multipart/form-data">
+ Send these files:<br>
+ <input name="userfile[]" type="file"><br>
+ <input name="userfile[]" type="file"><br>
+ <input type="submit" value="Send files">
+</form>
+]]>
</programlisting>
- </example></para>
-
+ </example>
+ </para>
<simpara>
- Wenn das obige Formular abgeschickt wird, werden die Arrays
-
<computeroutput>$userfile</computeroutput>,<computeroutput>$userfile_name</computeroutput>
und
- <computeroutput>$userfile_size</computeroutput> f�r den globalen
- Bereich, wie in $HTTP_POST_VARS, angeordnet. Jede dieser
- Variablen ist ein numerisch indizierte Array, das aus den
- entsprechenden Werten der �bertragenen Dateien besteht.</simpara>
-
+ Wenn das obige Formular �bermittelt ist, werden die Arrays
+ <varname>$HTTP_POST_FILES['userfile']</varname>,
+ <varname>$HTTP_POST_FILES['userfile']['name']</varname> und
+ <varname>$HTTP_POST_FILES['userfile']['size']</varname>
+ initialisiert. (Wie auch in $_FILES seit PHP 4.1.0. In PHP 3
+ $HTTP_POST_VARS. Ist <literal>register_globals</literal>
+ aktiviert, werden auch globale Variablen f�r die hochgeladenen
+ Dateien initialisiert). Jedes von ihnen ist ein numerisch
+ indiziertes Array mit den entsprechenden Werten der
+ hochgeladenen Dateien.
+ </simpara>
+ <simpara>
+ Nehmen wir zum Beispiel an, das die Dateinamen
+ <filename>/home/test/review.html</filename> und
+ <filename>/home/test/xwp.out</filename> �bermittelt wurden.
+ In diesem Fall w�rde
+ <varname>$HTTP_POST_FILES['userfile']['name'][0]</varname>
+ <filename>review.html</filename> enthalten, und
+ <varname>$HTTP_POST_FILES['userfile']['name'][1]</varname>
+ h�tte den Wert <filename>xwp.out</filename>. Genauso w�rde
+ <varname>$HTTP_POST_FILES['userfile']['size'][0]</varname>
+ die Dateigr��e von <filename>review.html</filename> enthalten,
+ usw.
+ </simpara>
<simpara>
- Nehmen wir an, die Dateinamen <filename>/home/test/review.html</filename>
- und <filename>/home/test/xwp.out</filename> werden �bertragen. In
- diesem Fall beinhaltet<computeroutput>$userfile_name[0]</computeroutput>
- den Wert <computeroutput>review.html</computeroutput> und
- <computeroutput>$userfile_name[1]</computeroutput> enth�lt den Wert
- <computeroutput>xwp.out</computeroutput>.
- Genauso enth�lt <computeroutput>$userfile_size[0]</computeroutput>
- die Dateigr��e von <filename>review.html</filename>, und so
weiter.</simpara></sect1>
+ <varname>$HTTP_POST_FILES['userfile']['name'][0]</varname>,
+ <varname>$HTTP_POST_FILES['userfile']['tmp_name'][0]</varname>,
+ <varname>$HTTP_POST_FILES['userfile']['size'][0]</varname> und
+ <varname>$HTTP_POST_FILES['userfile']['type'][0]</varname> sind
+ ebenfalls gesetzt.
+ </simpara>
+ </sect1>
<sect1 id="features.file-upload.put-method">
<title>PUT-Unterst�tzung</title>
@@ -167,55 +337,57 @@
PHP unterst�tzt die HTTP PUT-Methode, wie sie von Clients wie Netscape
Composer oder W3C Amaya benutzt wird. PUT-Anfragen sind weitaus
unkomplizierter als ein Dateiupload und sehen etwa so aus:
-
- <informalexample><programlisting>
+ <informalexample>
+ <programlisting>
PUT /path/filename.html HTTP/1.1
- </programlisting></informalexample>
+ </programlisting>
+ </informalexample>
</para>
-
<para>
- Das w�rde normalerweise bedeuten, da� der entfernte Client den
+ Das w�rde normalerweise bedeuten, dass der entfernte Client den
folgenden Inhalt als /path/filename.html im Webverzeichnisbaum
speichert. Nat�rlich ist es keine gute Idee, dass PHP oder
Apache jeden Benutzer beliebige Dateien �berschreiben lassen.
Um eine solche Anfrage bearbeiten zu k�nnen, muss der Webserver
erst angewiesen werden, ein bestimmtes PHP-Skript f�r die
Abarbeitung aufzurufen. Im Apache wird dies durch die
- <emphasis>Script</emphasis> - Direktrive festgelegt. Sie kann
- irgendwo in der Apache-Konfigurationsdatei plaziert werden,
- gebr�uchlich ist die Plazierung innerhalb einer <Directory>- oder
+ <emphasis>Script</emphasis> - Direktive festgelegt. Sie kann fast
+ �berall in der Apache-Konfigurationsdatei platziert werden,
+ gebr�uchlich ist die Platzierung innerhalb einer <Directory>- oder
<Virtualhost>- Sektion. Eine Zeile wie die folgende erledigt dies:
-
- <informalexample><programlisting>
-Script PUT /put.php3
- </programlisting></informalexample>
+ <informalexample>
+ <programlisting>
+Script PUT /put.php
+ </programlisting>
+ </informalexample>
</para>
-
<simpara>
- Diese Zeile legt fest, da� Apache alle PUT-Anfragen f�r URIs, die
- dem Kontext entsprechen, in dem diese Zeile steht, an das put.php3
- Skript weiterleitet. Dies setzt voraus, da� PHP aktiv und f�r die
- .php3-Dateierweiterung registriert ist.
+ Diese Zeile legt fest, dass Apache alle PUT-Anfragen f�r URIs, die
+ dem Kontext entsprechen, in dem diese Zeile steht, an das put.php
+ Skript weiterleitet. Dies setzt nat�rlich voraus, dass PHP aktiv
+ und f�r die .php-Dateierweiterung registriert ist.
</simpara>
<simpara>
- Innerhalb der put.php3-Datei k�nnte folgendes stehen:
+ Innerhalb der put.php-Datei k�nnte folgendes stehen:
</simpara>
<para>
- <informalexample><programlisting>
-<? copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?>
+ <informalexample><programlisting role="php">
+<![CDATA[
+<?php copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?>
+]]>
</programlisting></informalexample>
</para>
<simpara>
Dies kopiert die Datei an den vom Client angegebenen Ort.
M�glicherweise sollen vor dem Kopieren der Datei noch
- �berpr�fungen und/oder Benutzerauthentifizierung stattfinden. Wenn
- PHP eine PUT-Anfrage erh�lt, wird die Datei in einem tempor�ren
- Verzeichnis gespeichert, genau wie bei <link
- linkend="features.file-upload.post-method">POST-Methode</link>
- Nach Abarbeiten der Anfrage wird die tempor�re Datei gel�scht.
- Also mu� das PHP-Skript, das die PUT-Anfrage bearbeitet, die Datei
- irgendwohin kopieren. Der Name der tempor�ren Datei findet sich in
- der Variablen $PHP_PUT_FILENAME; der Name der zu speichernden
+ �berpr�fungen und/oder Benutzerauthentifizierung stattfinden.
+ Wenn PHP eine PUT-Anfrage erh�lt, wird die Datei genau wie bei der
+ <link linkend="features.file-upload.post-method">POST-Methode</link>
+ in einem tempor�ren Verzeichnis gespeichert. Nach dem Abarbeiten
+ der Anfrage wird die tempor�re Datei gel�scht. Also muss das
+ PHP-Skript, das die PUT-Anfrage bearbeitet, die Datei irgendwohin
+ kopieren. Der Name der tempor�ren Datei findet sich in der
+ Variablen $PHP_PUT_FILENAME; der Name der zu speichernden
Datei steht in $REQUEST_URI (kann bei Nicht-Apache Webservern
variieren). Dieser Zieldateiname wird vom Client festgelegt. Man
kann den Client auch umgehen; beispielsweise k�nnten alle
@@ -242,4 +414,7 @@
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
-->