cvs: phpdoc-de /features remote-files.xml

From: Date: Tue, 27 Nov 2007 19:05:24 +0000
Subject: cvs: phpdoc-de /features remote-files.xml
Groups: php.doc.de 
Request: Send a blank email to doc-de+get-2297@lists.php.net to get a copy of this message
samesch Tue Nov 27 19:05:24 2007 UTC Modified files: /phpdoc-de/features remote-files.xml Log: syncing with EN http://cvs.php.net/viewvc.cgi/phpdoc-de/features/remote-files.xml?r1=1.13&r2=1.14&diff_format=u Index: phpdoc-de/features/remote-files.xml diff -u phpdoc-de/features/remote-files.xml:1.13 phpdoc-de/features/remote-files.xml:1.14 --- phpdoc-de/features/remote-files.xml:1.13 Sat Jun 23 13:21:28 2007 +++ phpdoc-de/features/remote-files.xml Tue Nov 27 19:05:24 2007 @@ -1,31 +1,42 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.13 $ --> -<!-- EN-Revision: 1.1 Maintainer: nobody Status: ready --> +<!-- $Revision: 1.14 $ --> +<!-- EN-Revision: 1.27 Maintainer: samesch Status: ready --> <chapter xml:id="features.remote-files" xmlns="http://docbook.org/ns/docbook"> <title>Zugriff auf entfernte Dateien</title> <para> - Wenn die Unterstützung für den &quot;URL fopen wrapper&quot; bei der - Konfiguration von PHP vorhanden ist (welche standardmäßig eingestellt ist, es sei denn, - die Option <option>--disable-url-fopen-wrapper</option> wurde bei der Installation verwendet (Versionen - bis 4.0.3) oder der Parameter <parameter>allow_url_fopen</parameter> in der php.ini - deaktiviert wurde (neuere Versionen), - können HTTP und FTP URLs bei den meisten Funktionen verwendet werden, die einen - Dateinamen als Parameter benötigen, inklusive <function>require</function> - und <function>include</function> Anweisungen. - </para> + Wenn <parameter>allow_url_fopen</parameter> in der &php.ini; aktiviert ist, + können <acronym>HTTP</acronym>- und <acronym>FTP</acronym>-URLs bei den + meisten Funktionen verwendet werden, die einen Dateinamen als Parameter + benötigen. Darüber hinaus können URLs in <function>include</function>-, + <function>include_once</function>-, <function>require</function>- und + <function>require_once</function>-Anweisungen verwendet werden. Weitere + Informationen zu den Protokollen, die von PHP unterstützt werden, finden + Sie im Abschnitt <xref linkend="wrappers"/>. + </para> + <note> + <para> + Bis einschließlich PHP 4.0.3 muss PHP mit der Option + <option>--enable-url-fopen-wrapper</option> konfiguriert worden sein, + damit die URL-Wrapper verwendet werden können. + </para> + </note> <para> <note> <para> - remote files funktionieren nicht mit <function>include</function> und - <function>require</function> Anweisungen unter Windows. + Vor PHP 4.3 war mit folgenden Funktionen der Windows-Versionen von PHP + kein Zugriff auf entfernte Dateien möglich: <function>include</function>, + <function>include_once</function>, <function>require</function>, + <function>require_once</function> und die imagecreatefromXXX-Funktionen + der <xref linkend="ref.image"/>-Erweiterung. </para> </note> </para> <para> - Beispielsweise kann eine Datei auf einem anderen Webserver geöffnet und verarbeitet werden. - Diese Daten können zur Abfrage einer Datenbank benutzt werden oder passend zum Rest der eigenen - Website ausgegeben werden. + Beispielsweise kann damit eine Datei auf einem anderen Webserver geöffnet + und nach benötigten Daten analysiert werden. Diese Daten können zur Abfrage + einer Datenbank benutzt werden oder passend zum Rest der eigenen Website + ausgegeben werden. </para> <para> <example> @@ -33,33 +44,38 @@ <programlisting role="php"> <![CDATA[ <?php -$file = fopen ("http://www.example.com/", "r"); -if (!$file) { +$datei = fopen ("http://www.example.com/", "r"); +if (!$datei) { echo "<p>Datei konnte nicht geöffnet werden.\n"; exit; } -while (!feof ($file)) { - $line = fgets ($file, 1024); +while (!feof ($datei)) { + $zeile = fgets ($datei, 1024); /* Funktioniert nur, wenn Titel und title-Tags in einer Zeile stehen */ - if (eregi ("<title>(.*)</title>", $line, $out)) { - $title = $out[1]; + if (eregi ("<title>(.*)</title>", $zeile, $treffer)) { + $title = $treffer[1]; break; } } -fclose($file); +fclose($datei); ?> ]]> </programlisting> </example> </para> <para> - Auch eine Datei auf einem FTP-Server kann geschrieben werden, solange man sich über - einen Benutzer mit entsprechenden Zugriffsrechten verbindet und die Datei noch nicht existiert. - Um sich mit einem anderen Benutzer als 'anonymous' zu verbinden muß ein - username (und möglichst ein Passwort) innerhalb der URL angegeben werden, wie z.B. - 'ftp://user:password@ftp.example.com/pfad/zur/datei'. (Die selbe Syntax - kann verwendet werden, um auf Daten via HTTP zuzugreifen, wenn diese eine Basic - Authentication benötigen.) + Auch eine Datei auf einem FTP-Server kann geschrieben werden, vorausgesetzt + man ist als Benutzer mit entsprechenden Zugriffsrechten angemeldet. Auf + diesem Weg können nur neue Dateien angelegt werden. Falls Sie versuchen + eine schon existierende Datei zu überschreiben, wird der + <function>fopen</function>-Aufruf fehlschlagen. + </para> + <para> + Um sich statt als 'anonymous' als anderer Benutzer anzumelden, muss ein + Benutzername (und möglicherweise ein Passwort) innerhalb der URL angegeben + werden, wie z.B. 'ftp://benutzer:passwort@ftp.example.com/pfad/zur/datei'. + Die selbe Syntax kann verwendet werden, um auf Dateien via HTTP + zuzugreifen, wenn diese eine Basic-Authentifizierung benötigen. </para> <para> <example> @@ -67,27 +83,29 @@ <programlisting role="php"> <![CDATA[ <?php -$file = fopen ("ftp://ftp.example.com/incoming/outputfile", "w"); -if (!$file) { - echo "<p>Datei konnte zum schreiben nicht geöffnet werden.\n"; +$datei = fopen ("ftp://ftp.example.com/incoming/outputfile", "w"); +if (!$datei) { + echo "<p>Datei konnte nicht zum schreiben geöffnet werden.\n"; exit; } /* Schreibe die Daten hier hin. */ -fputs ($file, "$HTTP_USER_AGENT\n"); -fclose ($file); +fputs ($datei, $_SERVER['HTTP_USER_AGENT'] . "\n"); +fclose ($datei); ?> -]]> +]]> </programlisting> </example> </para> <para> <note> <para> - Obiges Beispiel könnte dazu verleiten, dieses Verfahren zu benutzen, um in ein 'remote log-file' - zu schreiben. Wie oben erwähnt kann man jedoch ausschließlich neue Dateien anlegen, - wenn man URL fopen() wrapper benutzt. Für 'distributed logging' sollte man sich die Funktion + Obiges Beispiel könnte dazu verleiten, dieses Verfahren zu benutzen, um + in eine entfernte Log-Datei zu schreiben. Das würde aber leider nicht + funktionieren, weil der <function>fopen</function>-Aufruf fehlschlagen + würde, wenn die entfernte Datei bereits existiert. Für eine + dezentralisierte Protokollierung sollten Sie sich die Funktion <function>syslog</function> anschauen. - </para> + </para> </note> </para>

« previous php.doc.de (#2297) next »