tom Sun Mar 3 05:23:39 2002 EDT
Modified files:
/phpdoc/de/functions filesystem.xml
Log:
Transl. is actual now
Index: phpdoc/de/functions/filesystem.xml
diff -u phpdoc/de/functions/filesystem.xml:1.33 phpdoc/de/functions/filesystem.xml:1.34
--- phpdoc/de/functions/filesystem.xml:1.33 Sat Feb 2 10:34:01 2002
+++ phpdoc/de/functions/filesystem.xml Sun Mar 3 05:23:39 2002
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.84 Maintainer: tom Status: ready -->
+<!-- EN-Revision: 1.126 Maintainer: tom Status: ready -->
<reference id="ref.filesystem">
<title>Funktionen des Dateisystems</title>
<titleabbrev>Filesystem</titleabbrev>
@@ -34,9 +34,11 @@
<example>
<title><function>basename</function></title>
<programlisting role="php">
+<![CDATA[
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file enth�lt den Wert "index.php"
$file = basename ($path,".php"); // $file enth�lt den Wert "index"
+]]>
</programlisting>
</example>
</para>
@@ -55,9 +57,7 @@
<refentry id="function.chgrp">
<refnamediv>
<refname>chgrp</refname>
- <refpurpose>
- Wechselt die Gruppenzugeh�rigkeit einer Datei
- </refpurpose>
+ <refpurpose>Wechselt die Gruppenzugeh�rigkeit einer Datei</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung</title>
@@ -67,23 +67,20 @@
<methodparam><type>mixed</type><parameter>group</parameter></methodparam>
</methodsynopsis>
<para>
- Weist einer Datei eine Benutzergruppe zu. Um diese Funktion
- ausf�hren zu k�nnen, m�ssen Sie Superuser sein. Andere Benutzer
- k�nnen die Gruppenzugeh�rigkeit einer Datei in jede Gruppe
+ Weist der Datei <parameter>filename</parameter> die Benutzergruppe
+ <parameter>group</parameter> zu (spezifiziert durch Name oder Nummer). Um
+ diese Funktion ausf�hren zu k�nnen, m�ssen Sie Superuser sein. Andere
+ Benutzer k�nnen die Gruppenzugeh�rigkeit einer Datei in jede Gruppe
�ndern, derer sie angeh�ren.
</para>
<para>
Gibt bei Erfolg &true; zur�ck, andernfalls &false;.
</para>
- <note>
- <para>
- Unter Windows-Systemen bleibt diese Funktion ohne Effekt.
- </para>
- </note>
<para>
Siehe auch <function>chown</function> und
<function>chmod</function>.
</para>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -111,24 +108,22 @@
<parameter>mode</parameter> mit dem Prefix &null; (0) versehen:
<informalexample>
<programlisting role="php">
+<![CDATA[
chmod ("/somedir/somefile", 755); // dezimal; m�glicherweise falsch
chmod ("/somedir/somefile", "u+rwx,go+rx"); // String; falsch
chmod ("/somedir/somefile", 0755); // oktal; richtiger Wert von mode
+]]>
</programlisting>
</informalexample>
</para>
<para>
- Gibt &true; bei Erfolg zur�ck, andernfalls &false;.
+ Gibt &true; bei Erfolg zur�ck, andernfalls &false;.
</para>
<para>
Siehe auch <function>chown</function> und
<function>chgrp</function>.
</para>
- <note>
- <simpara>
- Diese Funktion bleibt unter Windows-Systemen ohne Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -151,16 +146,12 @@
</para>
<para>
Gibt bei Erfolg &true; zur�ck, andernfalls &false;.
- <note>
- <simpara>
- Unter Windows bleibt diese Funktion ohne Effekt.
- </simpara>
- </note>
</para>
<para>
Siehe auch <function>chown</function> und
<function>chmod</function>.
</para>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -228,14 +219,24 @@
<example>
<title><function>copy</function></title>
<programlisting role="php">
-if (!copy ($file, $file.'.bak')) {
- print ("failed to copy $file...<br>\n");
+<![CDATA[
+if (!copy($file, $file.'.bak')) {
+ print ("failed to copy $file...<br>\n");
}
+]]>
</programlisting>
</example>
</para>
+ <warning>
+ <para>
+ Sollte die Zieldatei bereits existieren, wird sie �berschrieben.
+ </para>
+ </warning>
<para>
- Siehe auch: <function>rename</function>.
+ Siehe auch <function>move_uploaded_file</function>,
+ <function>rename</function>, und den Abschnitt �ber
+ <link linkend="features.file-upload">Steuerung von
+ Dateiuploads</link>.
</para>
</refsect1>
</refentry>
@@ -291,20 +292,36 @@
<example>
<title><function>dirname</function></title>
<programlisting role="php">
+<![CDATA[
$path = "/etc/passwd";
$file = dirname ($path); // $file enth�lt den Wert "/etc"
+]]>
</programlisting>
</example>
</para>
+ <note>
+ <para>
+ Seit PHP 4.0.3 entspricht <function>dirname</function> dem
+ POSIX-Standard. Im Grunde hei�t das, dass wenn keine Slashes
+ in <parameter>path</parameter> vorhanden sind, wird ein Punkt
+ ('<literal>.</literal>') zur�ckgegeben, womit das aktuelle
+ Verzeichnis gemeint ist. Andernfalls enth�lt der zur�ckgegebene
+ String <parameter>path</parameter>, jedoch ohne den hinteren
+ <literal>/component</literal>. Beachten Sie, dass Sie von
+ <function>dirname</function> oft einen Slash oder Punkt
+ zur�ckbekommen, wo die alte Funktionalit�t einen leeren String
+ lieferte.
+ </para>
+ </note>
<para>
Siehe auch <function>basename</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.diskfreespace">
+ <refentry id="function.disk-free-space">
<refnamediv>
- <refname>diskfreespace</refname>
+ <refname>disk_free_space</refname>
<refpurpose>
Liefert den freien Speicherplatz in einem Verzeichnis
</refpurpose>
@@ -312,7 +329,7 @@
<refsect1>
<title>Beschreibung</title>
<methodsynopsis>
- <type>float</type><methodname>diskfreespace</methodname>
+ <type>float</type><methodname>disk_free_space</methodname>
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
</methodsynopsis>
<para>
@@ -321,16 +338,36 @@
</para>
<para>
<example>
- <title><function>diskfreespace</function></title>
+ <title><function>disk_free_space</function></title>
<programlisting role="php">
-$df = diskfreespace("/"); // $df h�lt die Anzahl an freien Bytes
- // im Verzeichnis "/"
+<![CDATA[
+$df = disk_free_space("/"); // $df h�lt die Anzahl an freien Bytes
+ // im Verzeichnis "/"
+]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
+ <refentry id="function.diskfreespace">
+ <refnamediv>
+ <refname>diskfreespace</refname>
+ <refpurpose>Ist ein Alias f�r <function>disk_free_space</function></refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <methodsynopsis>
+ <type>float</type><methodname>diskfreespace</methodname>
+ <methodparam><type>string</type><parameter>directory</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Von diesem Alias wird abgeraten, benutzen Sie stattdessen
+ <function>disk_free_space</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
<refentry id="function.disk-total-space">
<refnamediv>
<refname>disk_total_space</refname>
@@ -351,8 +388,10 @@
<example>
<title><function>disk_total_space</function></title>
<programlisting role="php">
+<![CDATA[
$df = disk_total_space("/"); // $df enth�lt die Gesamtanzahl
// verf�gbarer Bytes in "/"
+]]>
</programlisting>
</example>
</para>
@@ -367,7 +406,7 @@
<refsect1>
<title>Beschreibung</title>
<methodsynopsis>
- <type>int</type><methodname>fclose</methodname>
+ <type>bool</type><methodname>fclose</methodname>
<methodparam><type>int</type><parameter>fp</parameter></methodparam>
</methodsynopsis>
<para>
@@ -381,7 +420,7 @@
<para>
Der Datei-Zeiger muss g�ltig sein, d.h. die Datei, auf die
gezeigt wird muss zuvor mit <function>fopen</function>
- oder <function>fsockopen</function> ge�ffnet worden sein.
+ oder <function>fsockopen</function> ge�ffnet worden sein.
</para>
</refsect1>
</refentry>
@@ -461,7 +500,7 @@
<function>popen</function> oder <function>fsockopen</function>
ge�ffnet worden sein.
</para>
- <para>
+ <para>
Siehe auch <function>fread</function>,
<function>fopen</function>, <function>popen</function>,
<function>fsockopen</function> und <function>fgets</function>.
@@ -484,7 +523,7 @@
<methodparam><type>int</type><parameter>fp</parameter></methodparam>
<methodparam><type>int</type><parameter>length</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>
- Trennzeichen (Delimiter)
+ delimiter
</parameter></methodparam>
</methodsynopsis>
<simpara>
@@ -522,6 +561,7 @@
Inhalts einer CSV-Datei
</title>
<programlisting role="php">
+<![CDATA[
$row = 1; // Anzahl der Arrays
$fp = fopen ("test.csv","r"); // Datei wird zum Lesen
// ge�ffnet
@@ -529,14 +569,15 @@
// in einen Array $data gelesen
$num = count ($data); // Felder im Array $data
// werden gez�hlt
- print "<p> $num fields in line $row: <br>";
+ print "<p> $num fields in line $row: <br>";
$row++; // Anzahl der Arrays wird
// inkrementiert
- for ($c=0; $c<$num; $c++) { // FOR-Schleife, um Felder
- print $data[$c] . "<br>"; // des Arrays auszugeben
+ for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder
+ print $data[$c] . "<br>"; // des Arrays auszugeben
}
}
fclose ($fp);
+]]>
</programlisting>
</example>
</refsect1>
@@ -561,8 +602,9 @@
L�nge zur�ck, welche aus der Datei von der aktuellen Position des
Dateizeigers <parameter>fp</parameter> aus ausgelesen wird. Die
Zeile endet an einem Zeilenumbruch (welcher im R�ckgabewert enthalten
- ist), EOF (Ende der Datei) oder bei <parameter>length</parameter>
- - 1 Bytes (Je nachdem, was eher auftritt).
+ ist), EOF (Ende der Datei) oder bei <parameter>length</parameter>
+ - 1 Bytes (Je nachdem, was eher auftritt). Ist keine L�nge angegeben,
+ wird diese auf 1k bzw. 1024 Bytes gesetzt.
</para>
<para>
Wenn ein Fehler auftritt, wird &false; zur�ckgegeben.
@@ -571,32 +613,39 @@
H�ufig auftretende Fehler:
</para>
<simpara>
- Wenn Sie an die C-Semantik von fgets gew�hnt sind, sollten
- Sie auf die unterschiedliche Behandlung von EOF (genauer:
- wie EOF zur�ckgegeben wird) achten.
+ Wenn Sie an die C-Semantik von <function>fgets</function> gew�hnt sind,
+ sollten Sie auf die unterschiedliche Behandlung von <literal>EOF</literal>
+ (genauer: wie EOF zur�ckgegeben wird) achten.
</simpara>
<simpara>
Der Datei-Zeiger <parameter>fp</parameter> muss g�ltig sein,
d.h. die Datei, auf die gezeigt wird, muss zuvor mit
- <function>fopen</function>, <function>popen</function> oder
+ <function>fopen</function>, <function>popen</function>, oder
<function>fsockopen</function> ge�ffnet worden sein.
</simpara>
<para>
Ein einfaches Beispiel:
- <example>
+ <example>
<title>Eine Datei Zeile f�r Zeile einlesen</title>
<programlisting role="php">
+<![CDATA[
$fd = fopen ("/tmp/inputfile.txt", "r");
while (!feof($fd)) {
$buffer = fgets($fd, 4096);
echo $buffer;
}
fclose ($fd);
+]]>
</programlisting>
</example>
</para>
- <para>
- Siehe auch <function>fread</function>, <function>fopen</function>,
+ <note>
+ <simpara>
+ Der Parameter <parameter>length</parameter> wurde erst ab PHP 4.2.0 optional.
+ </simpara>
+ </note>
+ <para>
+ Siehe auch <function>fread</function>, <function>fopen</function>,
<function>popen</function>, <function>fgetc</function>,
<function>fsockopen</function>, und
<function>socket_set_timeout</function>.
@@ -634,8 +683,8 @@
die nicht entfernt werden sollen.
<note>
<para>
- <parameter>allowable_tags</parameter> wurden in PHP 3.0.13
- hinzugef�gt, PHP4B3.
+ <parameter>allowable_tags</parameter> wurden in PHP 3.0.13 bzw.
+ PHP 4.0.0 hinzugef�gt.
</para>
</note>
</para>
@@ -649,7 +698,7 @@
<refentry id="function.file">
<refnamediv>
- <refname>file</refname>
+ <refname>file</refname>
<refpurpose>
Liest eine Datei komplett in einen Array
</refpurpose>
@@ -661,13 +710,19 @@
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
</methodsynopsis>
- <para>
- Die Funktion <function>file</function> ist identisch mit der
- Funktion <function>readfile</function>, bis auf den Umstand, das
- die eingelesene Datei als Array zur�ckgegeben wird. Jedes Feld
- des Arrays korrespondiert mit einer Zeile der Datei. Der
- Zeilenumbruch bleibt erhalten.
+ <para>
+ Die Funktion <function>file</function> ist identisch mit
+ <function>readfile</function>, au�er dass die eingelesene Datei
+ als Array zur�ckgegeben wird. Jedes Feld des Arrays korrespondiert
+ mit einer Zeile der Datei. Der Zeilenumbruch bleibt erhalten.
</para>
+ <note>
+ <para>
+ Jede Zeile in dem resultierenden Array enth�lt das Zeilenende ('\0'),
+ weshalb Sie <function>trim</function> verwenden m�ssen, falls Sie
+ dieses Zeichen nicht vorhanden sein soll.
+ </para>
+ </note>
<para>
Optional kann der zweite Parameter benutzt und auf '1' gesetzt
werden, wenn in dem <link
@@ -677,20 +732,24 @@
<para>
<informalexample>
<programlisting role="php">
-<?php
+<![CDATA[
+<?php
// liest eine Webseite in einen Array und gibt das Ergebnis aus
-$fcontents = file ('http://www.php.net');
+$fcontents = file ('http://www.php.net/');
while (list ($line_num, $line) = each ($fcontents)) {
- echo "<b>Line $line_num:</b>" . htmlspecialchars($line) . "<br>\n";
+ echo "<b>Line $line_num:</b>; ", htmlspecialchars ($line), "<br>\n";
}
// liefert eine Webseite in einen String
-$fcontents = join ('', file ('http://www.php.net'));
+$fcontents = implode ('', file ('http://www.php.net/'));
?>
+]]>
</programlisting>
</informalexample>
</para>
- <para>
+ ¬e.not-bin-safe;
+ &tip.fopen-wrapper;
+ <para>
Siehe auch <function>readfile</function>,
<function>fopen</function>, <function>fsockopen</function>, und
<function>popen</function>.
@@ -706,7 +765,7 @@
<refsect1>
<title>Beschreibung</title>
<methodsynopsis>
- <type>int</type><methodname>file_exists</methodname>
+ <type>bool</type><methodname>file_exists</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<simpara>
@@ -739,7 +798,7 @@
<type>int</type><methodname>fileatime</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
- <simpara>
+ <simpara>
Gibt Datum und Uhrzeit des letzten Zugriffs auf eine Datei
zur�ck, oder &false; wenn ein Fehler auftrat. Das Datum wird als
UNIX-Timestamp zur�ckgegeben.
@@ -750,12 +809,12 @@
Einzelheiten.
</simpara>
<simpara>
- Anmerkung: Die atime einer Datei vorgesehen sich immer zu �ndern,
+ Anmerkung: Die atime einer Datei vorgesehen sich immer zu �ndern,
sobald Datenbl�cke einer Datei ge�ndert werden. Das kann sich
folgenschwer auf die Performance auswirken, wenn eine Anwendung
regelm��ig auf eine gro�e Anzahl Dateien oder Verzeichnisse zugreift.
Manche Unix Dateisysteme k�nnen mit deaktivierter atime-Aktualisierung
- gemountet werden, um die Performance solcher Applikationen zu erh�hen;
+ gemountet werden, um die Performance solcher Applikationen zu erh�hen;
USENET news spools sind ein h�ufiges Beispiel. Auf solchen
Dateisystemen wird diese Funktion nutzlos.
</simpara>
@@ -825,7 +884,7 @@
<type>int</type><methodname>filegroup</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Gibt die Gruppen ID des Besitzers einer Datei zur�ck, oder &false;
wenn ein Fehler auftrat. Die Gruppen ID wird im numerischen
Format zur�ckgegeben. Mit der Funktion
@@ -837,11 +896,9 @@
Siehe <function>clearstatcache</function> f�r weitere
Einzelheiten.
</para>
+ ¬e.no-windows;
<note>
<simpara>
- Diese Funktion hat unter Windows-Systemen keinen Effekt.
- </simpara>
- <simpara>
Diese Funktion ist nicht f�r <link
linkend="features.remote-files">remote Dateien</link> geeignet, die zu
pr�fende Datei muss �ber das Dateisystem des Servers verf�gbar sein.
@@ -861,7 +918,7 @@
<type>int</type><methodname>fileinode</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Gibt die Inode-Nummer einer Datei zur�ck, oder &false; wenn ein
Fehler auftrat.
</para>
@@ -870,11 +927,12 @@
Siehe <function>clearstatcache</function> f�r weitere
Einzelheiten.
</para>
- <note>
- <simpara>
- Diese Funktion hat unter Windows-Systemen keinen Effekt.
- </simpara>
- </note>
+ <simpara>
+ Diese Funktion ist nicht f�r <link
+ linkend="features.remote-files">remote Dateien</link> geeignet, die zu
+ pr�fende Datei muss �ber das Dateisystem des Servers verf�gbar sein.
+ </simpara>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -908,7 +966,7 @@
</simpara>
<para>Anmerkung: Diese Funktion gibt den Zeitpunkt zur�ck, an dem in
die Datenbl�cke einer Datei geschrieben wurde; d.h. den Zeitpunkt der
- �nderung des Inhalts der Datei. Verwenden Sie <function>date</function>,
+ �nderung des Inhalts der Datei. Verwenden Sie <function>date</function>,
um das Ergebnis dieser Funktion in ein ausgabef�higes �nderungsdatum
f�r z.B. Fu�zeilen in Webseiten zu erhalten.
</para>
@@ -943,11 +1001,7 @@
linkend="features.remote-files">remote Dateien</link> geeignet, die zu
pr�fende Datei muss �ber das Dateisystem des Servers verf�gbar sein.
</simpara>
- <note>
- <simpara>
- Diese Funktion hat unter Windows keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -990,8 +1044,8 @@
<type>int</type><methodname>filesize</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
- <para>
- Gibt die Gr��e einer Datei zur�ck, oder &false; wenn ein Fehler
+ <para>
+ Gibt die Gr��e einer Datei in Bytes zur�ck, oder &false; wenn ein Fehler
auftrat.
</para>
<para>
@@ -1070,21 +1124,21 @@
<listitem>
<simpara>
Um eine verteilte, nur lesende Verriegelung zu erhalten,
- setzten Sie <parameter>operation</parameter> auf LOCK_SH (bzw.
+ setzten Sie <parameter>operation</parameter> auf LOCK_SH (bzw.
1 vor PHP 4.0.1).
</simpara>
</listitem>
<listitem>
<simpara>
Um eine exklusive, nur schreibende Verriegelung zu erhalten,
- setzen Sie <parameter>operation</parameter> auf LOCK_EX (bzw.
+ setzen Sie <parameter>operation</parameter> auf LOCK_EX (bzw.
2 vor PHP 4.0.1).
</simpara>
</listitem>
<listitem>
<simpara>
Um eine Verriegelung freizugeben (lesend oder schreibend),
- setzten Sie <parameter>operation</parameter> auf LOCK_UN (bzw.
+ setzten Sie <parameter>operation</parameter> auf LOCK_UN (bzw.
3 vor PHP 4.0.1).
</simpara>
</listitem>
@@ -1100,7 +1154,7 @@
<simpara>
<function>flock</function> erlaubt es Ihnen ein einfaches
Leser/Schreiber Modell zu erstellen, welches auf fast jeder Plattform
- benutzt werden kann (inkl. den meisten UNICES- und Windows-Systemen).
+ benutzt werden kann (inkl. den meisten UNIX-Derivaten und auch Windows).
Das optionale dritte Argument ist auf &true; gesetzt, wenn die
Verriegelung sperren sollte (EWOULDBLOCK errno Bedingung).
</simpara>
@@ -1109,13 +1163,26 @@
Fehler auftrat (z.B. wenn eine Verriegelung nicht erstellt werden
konnte) zur�ck.
</simpara>
+ <note>
+ <para>
+ Da <function>flock</function> einen Dateizeiger ben�tigt, k�nnten Sie
+ eine spezielle Sperrdatei benutzen, um den Zugriff auf eine Datei zu
+ sch�tzen, welche Sie mittels �ffnen im Schreibmodus (mit dem Argument
+ "w" or "w+" von <function>fopen</function>) k�rzen wollen.
+ </para>
+ </note>
<warning>
<para>
- Bei den meisten Betriebssystemen ist <function>flock</function>
- auf dem Prozesslevel implementiert. Wenn Sie ein multithreaded
- Server API wie ISAPI benutzen k�nnen Sie sich nicht auf
- <function>flock</function> verlassen, um Dateien vor anderen PHP-Scripten
- zu sch�tzen, welche in parallelen Threads der gleichen Server-Instanz laufen!
+ <function>flock</function> funktioniert nicht auf NFS und verschiedenen
+ anderen vernetzten Dateisystemen. F�r weitere Detail konsultieren Sie
+ bitte Ihre Betriebssystemdokumentation.
+ </para>
+ <para>
+ Bei einigen Betriebssystemen ist <function>flock</function> auf dem
+ Prozesslevel implementiert. Wenn Sie ein multithreaded Server API wie
+ ISAPI benutzen k�nnen Sie sich nicht auf <function>flock</function>
+ verlassen, um Dateien vor anderen PHP-Skripten zu sch�tzen, welche in
+ parallelen Threads der gleichen Server-Instanz laufen!
</para>
</warning>
</refsect1>
@@ -1148,6 +1215,7 @@
Beachten Sie, dass Ihnen der Dateizeiger nur den Empfang des
<emphasis>body</emphasis> aus der Antwort erlaubt; mit dieser
Funktion k�nnen Sie auf den HTTP response header nicht zugreifen.
+ Weiters sind HTTP Verbindungen nur zum Lesen.
</simpara>
<simpara>
In �lteren Versionen als PHP 4.0.5 werden Weiterleitungen (HTTP
@@ -1229,7 +1297,7 @@
Zus�tzlich kann <parameter>mode</parameter> der Buchstabe 'b'
hinzugef�gt werden, der die Behandlung von Bin�r-Dateien
erlaubt. Dies ist nur auf Systemen sinnvoll, welche zwischen Bin�r-
- und Text-Dateien unterscheiden (z.B. Windows. Ist bei Unix sinnlos).
+ und Text-Dateien unterscheiden (z.B. Windows. Ist bei Unix sinnlos).
Wenn das Feature nicht gebraucht wird, wird es einfach ignoriert.
</para>
<para>
@@ -1242,10 +1310,12 @@
<example>
<title>fopen()</title>
<programlisting role="php">
+<![CDATA[
$fp = fopen ("/home/simi/simi.txt", "r");
$fp = fopen ("/home/simi/simi.gif", "wb");
$fp = fopen ("http://www.php.net/", "r");
$fp = fopen ("ftp://user:[EMAIL PROTECTED]/", "w");
+]]>
</programlisting>
</example>
</para>
@@ -1262,14 +1332,16 @@
plattformunabh�ngig programmieren zu k�nnen. Sollten Sie dennoch
Backslashes verwenden, vergessen Sie nicht diese zu escapen '\\'
<informalexample>
- <programlisting role="php">
+ <programlisting role="php">
+<![CDATA[
$fp = fopen ("c:\\data\\info.txt", "r");
+]]>
</programlisting>
</informalexample>
</para>
<simpara>
Siehe auch <function>fclose</function>,
- <function>fsockopen</function>,
+ <function>fsockopen</function>,
<function>socket_set_timeout</function>, und
<function>popen</function>.
</simpara>
@@ -1278,7 +1350,7 @@
<refentry id="function.fpassthru">
<refnamediv>
- <refname>fpassthru</refname>
+ <refname>fpassthru</refname>
<refpurpose>
Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
</refpurpose>
@@ -1290,8 +1362,8 @@
<methodparam><type>int</type><parameter>fp</parameter></methodparam>
</methodsynopsis>
<simpara>
- Die Funktion liest alle Daten vom Dateizeiger bis EOF aus und
- gibt die Daten auf der Standartausgabe (Browser) aus.
+ Die Funktion liest alle Daten von der aktuellen Position des Dateizeigers
+ bis EOF aus und gibt die Daten auf der Standartausgabe (Browser) aus.
</simpara>
<simpara>
Wenn ein Fehler auftritt, gibt <function>fpassthru</function>
@@ -1300,10 +1372,12 @@
<simpara>
Der Dateizeiger muss g�ltig sein und auf eine erfolgreich durch
<function>fopen</function>, <function>popen</function> oder
- <function>fsockopen</function> ge�ffnete Datei zeigen. Die Datei
- wird geschlossen, wenn <function>fpassthru</function> die Datei
- komplett gelesen hat (hinterl�sst nutzlosen
- <parameter>fp</parameter>-Dateizeiger).
+ <function>fsockopen</function> ge�ffnete Datei zeigen. Vielleicht
+ m�ssen Sie <function>rewind</function> aufrufen um den Dateizeiger
+ auf den Beginn der Datei zur�ckzusetzen, wenn Sie bereits Daten in
+ die Datei geschrieben haben. Die Datei wird geschlossen, wenn
+ <function>fpassthru</function> die Datei komplett gelesen hat
+ (hinterl�sst nutzlosen <parameter>fp</parameter>-Dateizeiger).
</simpara>
<simpara>
Wenn Sie den Inhalt einer Datei nur auf der Standartausgabe
@@ -1312,6 +1386,14 @@
die Datei mittels <function>fopen</function> ge�ffnet haben
m�ssen.
</simpara>
+ <note>
+ <para>
+ Wenn Sie <function>fpassthru</function> an einer Bin�rdatei unter
+ Windows benutzen sollten Sie sich vergewissern, dass Sie die Datei
+ im Bin�rmodus �ffnen, indem Sie ein <literal>b</literal> an den
+ Mode-Parameter von <function>fopen</function> anh�ngen.
+ </para>
+ </note>
<simpara>
Siehe auch <function>readfile</function>,
<function>fopen</function>, <function>popen</function> und
@@ -1366,33 +1448,37 @@
<para>
<informalexample>
<programlisting role="php">
+<![CDATA[
// liest den Inhalt einer Datei in einen String
$filename = "/usr/local/simi.txt";
$fd = fopen ($filename, "r");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
+]]>
</programlisting>
</informalexample>
</para>
<note>
<para>
Auf Systemen, welche zwischen Bin�r- und Textdateien (z.B. Windows)
- unterscheiden, muss die Datei mit 'b' im <function>fopen</function>
+ unterscheiden, muss die Datei mit 'b' im <function>fopen</function>
Mode-Parameter ge�ffnet werden.
</para>
</note>
<para>
<informalexample>
<programlisting role="php">
+<![CDATA[
$filename = "c:\\files\\somepic.gif";
$fd = fopen ($filename, "rb");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
+]]>
</programlisting>
</informalexample>
</para>
<simpara>
- Siehe auch <function>fwrite</function>, <function>fopen</function>,
+ Siehe auch <function>fwrite</function>, <function>fopen</function>,
<function>fsockopen</function>, <function>popen</function>,
<function>fgets</function>, <function>fgetss</function>,
<function>fscanf</function>, <function>file</function> und
@@ -1422,26 +1508,30 @@
entsprechend dem angegebenen <parameter>format</parameter>
interpretiert. Sind nur 2 Parameter angegeben, werden die analysierten
Werte als Array zur�ckgegeben. Werden auch optionale Parameter
- �bergeben, gibt die Funktion die Anzahl der ermittelten Werte zur�ck.
- Die optionalen Parameter m�ssen referenziert �bergeben werden.
+ �bergeben, gibt die Funktion die Anzahl der ermittelten Werte zur�ck.
+ Die optionalen Parameter m�ssen referenziert �bergeben werden.
<example>
<title><function>fscanf</function></title>
<programlisting role="php">
+<![CDATA[
$fp = fopen ("users.txt","r");
while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... Tue etwas mit den Werten
}
fclose($fp);
+]]>
</programlisting>
</example>
<example>
<title>users.txt</title>
<programlisting>
+<![CDATA[
javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it
+]]>
</programlisting>
</example>
</para>
@@ -1480,7 +1570,9 @@
<member>SEEK_CUR - Setzt Position auf die aktuelle Stelle plus
<parameter>offset</parameter>.</member>
<member>SEEK_END - Setzt die Position ans Ende der Datei plus
- <parameter>offset</parameter>.</member>
+ <parameter>offset</parameter>. (Um zu einer Position vor EOF zu
+ gelangen, �bergeben Sie in <parameter>offset</parameter> einen
+ negativen Wert.)</member>
</simplelist>
</para>
<para>Wenn <parameter>whence</parameter> nicht angegeben wurde, wird
@@ -1498,7 +1590,7 @@
</para>
<note>
<para>
- Das <parameter>whence</parameter>-Argument wurde nach PHP 4.0 RC1
+ Das <parameter>whence</parameter>-Argument wurde nach PHP 4.0.0
eingef�hrt.
</para>
</note>
@@ -1580,7 +1672,7 @@
<function>fopen</function> oder <function>popen</function>
ge�ffnete Datei zeigen.
</para>
- <para>
+ <para>
Siehe auch <function>fopen</function>,
<function>popen</function>, <function>fseek</function> und
<function>rewind</function>.
@@ -1635,6 +1727,10 @@
eintritt.
</simpara>
<simpara>
+ <function>fwrite</function> gibt bei Erfolg die Anzahl der
+ geschriebenen Bytes zur�ck, andernfalls -1.
+ </simpara>
+ <simpara>
Bedenken Sie, dass wenn der <parameter>length</parameter>
Parameter gesetzt ist, die <link
linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>
@@ -1645,7 +1741,7 @@
<note>
<para>
Auf Systemen, welche zwischen Bin�r- und Textdateien (z.B. Windows)
- unterscheiden, muss die Datei mit 'b' im <function>fopen</function>
+ unterscheiden, muss die Datei mit 'b' im <function>fopen</function>
Mode-Parameter ge�ffnet werden.
</para>
</note>
@@ -1675,7 +1771,7 @@
Eine Ausgabe mittels <function>fwrite</function> wird normalerweise
mit 8k gepuffert. Das hei�t, dass wenn zwei Prozesse in den gleichen
Output Stream (eine Datei) schreiben wollen, jeder nach 8k Daten
- unterbrochen wird, um den anderen schreiben zu lassen.
+ unterbrochen wird, um den anderen schreiben zu lassen.
<function>set_file_buffer</function> setzt die Pufferung f�r
Schreiboperationen des gegebenen Dateizeigers
<parameter>fp</parameter> auf <parameter>buffer</parameter>
@@ -1695,12 +1791,14 @@
<example>
<title><function>set_file_buffer</function></title>
<programlisting role="php">
+<![CDATA[
$fp=fopen($file, "w");
if($fp){
set_file_buffer($fp, 0);
fputs($fp, $output);
fclose($fp);
}
+]]>
</programlisting>
</example>
</para>
@@ -1738,7 +1836,7 @@
</para>
</refsect1>
</refentry>
-
+
<refentry id="function.is-executable">
<refnamediv>
<refname>is_executable</refname>
@@ -1824,19 +1922,15 @@
Einzelheiten.
</para>
<para>
- Siehe auch <function>is_dir</function> und
- <function>is_file</function>.
+ Siehe auch <function>is_dir</function>,
+ <function>is_file</function> und <function>readlink</function>.
</para>
<simpara>
Diese Funktion ist nicht f�r <link
linkend="features.remote-files">remote Dateien</link> geeignet, die zu
pr�fende Datei muss �ber das Dateisystem des Servers verf�gbar sein.
</simpara>
- <note>
- <simpara>
- Diese Funktion hat auf Windows-Systemen keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -1950,15 +2044,10 @@
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
- Diese Funktion ist nur in PHP 3 Versionen nach PHP 3.0.16, und
- PHP 4 Versionen nach PHP 4.0.2 verf�gbar.
- </para>
-
- <para>
Gibt &true; zur�ck, wenn die Datei <varname>filename</varname> mittels
HTTP POST upgeloaded wurde. Das ist hilfreich sicherzustellen, dass
kein b�swilliger User versucht hat das Script zu �berlisten, indem
- er es Dateien bearbeiten l�sst, die es gar nicht bearbeiten sollte.
+ er es Dateien bearbeiten l�sst, die es gar nicht bearbeiten sollte.
Zum Beispiel <filename>/etc/passwd</filename>.
</para>
<para>
@@ -1967,6 +2056,42 @@
(oder auch anderen Usern auf dem selben System).
</para>
<para>
+ <function>is_uploaded_file</function> ist in PHP 3 nur nach Version
+ 3.0.16, und in PHP 4 nur nach Version 4.0.2 verf�gbar. Sollten Sie
+ eine fr�here Version benutzen, k�nnen Sie sich mit der folgenden
+ Funktion weiterhelfen:
+ <note>
+ <para>
+ Dies funktioniert <emphasis>nicht</emphasis> in Versionen nach
+ PHP 4.0.2. Das liegt an der internen Funktionalit�t von PHP,
+ welche sich nach dieser Version ge�ndert hat.
+ </para>
+ </note>
+ <programlisting role="php">
+<![CDATA[
+<?php
+/* Userland Test f�r hochgeladene Datei. */
+function is_uploaded_file($filename) {
+ if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
+ $tmp_file = dirname(tempnam('', ''));
+ }
+ $tmp_file .= '/' . basename($filename);
+ /* Der Benutzer k�nnte einen f�hrenden Slash in php.ini haben... */
+ return (ereg_replace('/+', '/', $tmp_file) == $filename);
+}
+
+/* So verwenden Sie sie, nachdem Sie in diesen �lteren
+ * Versionen auch keine move_uploaded_file() haben: */
+if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
+ copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file");
+} else {
+ echo "M�gliche Dateiupload-Attacke: Dateiname '$HTTP_POST_FILES[userfile]'.";
+}
+?>
+]]>
+ </programlisting>
+ </para>
+ <para>
Siehe auch <function>move_uploaded_file</function>, und das Kapitel
<link linkend="features.file-upload">Steuerung von Dateiuploads</link>
f�r ein einfaches Anwendungsbeispiel.
@@ -1995,11 +2120,7 @@
erstellen und <function>readlink</function> zusammen mit
<function>linkinfo</function>.
</para>
- <note>
- <simpara>
- Diese Funktion hat unter Windows-Systemen keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -2027,11 +2148,7 @@
Siehe auch <function>symlink</function>,
<function>link</function>, und <function>readlink</function>.
</para>
- <note>
- <simpara>
- Diese Funktion hat unter Windows keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -2059,7 +2176,9 @@
<function>umask</function> �ndern k�nnen.
<informalexample>
<programlisting role="php">
+<![CDATA[
mkdir ("/path/to/my/dir", 0700);
+]]>
</programlisting>
</informalexample>
</para>
@@ -2086,29 +2205,25 @@
<methodparam><type>string</type><parameter>destination</parameter></methodparam>
</methodsynopsis>
<para>
- Diese Funktion ist nur in PHP 3 Versionen nach PHP 3.0.16, und
- PHP 4 Versionen nach PHP 4.0.2 verf�gbar.
- </para>
- <para>
Diese Funktion pr�ft, ob die mit <parameter>filename</parameter>
bezeichnete Datei eine g�ltige Upload-Datei ist (d.h., dass sie
mittels PHP's HTTP POST Upload-Mechanismus upgeloaded wurde).
Ist die Datei g�ltig, wird sie zum in
<parameter>destination</parameter> bezeichneten Dateinamen
- verschoben.
+ verschoben.
</para>
<para>
Wenn <parameter>filename</parameter> keine g�ltige Datei ist, wird
keine Aktion ausgef�hrt, und
<function>move_uploaded_file</function> gibt
- &false; zur�ck.
+ &false; zur�ck.
</para>
<para>
Wenn <parameter>filename</parameter> eine g�ltige Datei ist, jedoch
aus irgendeinem Grund nicht verschoben werden kann, wird keine
- Aktion ausgef�hrt, und <function>move_uploaded_file</function>
+ Aktion ausgef�hrt, und <function>move_uploaded_file</function>
gibt &false; zur�ck. Zus�tzlich wird eine Warnung
ausgegeben.
</para>
@@ -2119,7 +2234,20 @@
(oder auch anderen Usern auf dem selben System).
</para>
- ¬e.sm.uidcheck;
+ <note>
+ <para>
+ <function>move_uploaded_file</function> ist von den normalen safe-mode
+ UID-Einschr�nkungen nicht betroffen. Dies ist nicht unsicher, da
+ <function>move_uploaded_file</function> nur mit via PHP hochgeladenen
+ Dateien arbeitet.
+ </para>
+ </note>
+
+ <warning>
+ <para>
+ Sollte die Zieldatei bereits existieren, wird sie �berschrieben.
+ </para>
+ </warning>
<para>
Siehe auch <function>is_uploaded_file</function>, und das Kapitel
@@ -2130,6 +2258,112 @@
</refentry>
+ <refentry id="function.parse-ini-file">
+ <refnamediv>
+ <refname>parse_ini_file</refname>
+ <refpurpose>Analysiert eine Konfiguratiionsdatei</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung</title>
+ <methodsynopsis>
+ <type>array</type><methodname>parse_ini_file</methodname>
+ <methodparam><type>string</type><parameter>filename</parameter></methodparam>
+ <methodparam choice="opt"><type>bool</type><parameter>
+ process_sections
+ </parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ <function>parse_ini_file</function> l�dt die in
+ <parameter>filename</parameter> angegebene Datei, und gibt
+ die darin enthaltenen Einstellungen in einem assoziativen
+ Array zur�ck. Setzen Sie den letzten Parameter
+ <parameter>process_sections</parameter> auf &true;, erhalten
+ Sie ein mehrdimensionales Array mit den Gruppennamen und
+ Einstellungen. Ist <parameter>process_sections</parameter>
+ nicht angegeben, wird &false; angenommen.
+ </para>
+ <note>
+ <para>
+ Diese Funktion hat nichts mit der <filename>php.ini</filename>
+ zu tun, denn diese ist bereits abgearbeitet, wenn Sie Ihr Skript
+ ausf�hren. Diese Funktion ist vorgesehen, um Konfigurationsdateien
+ f�r Ihre eigenen Applikationen einzulesen.
+ </para>
+ </note>
+ <para>
+ Die Struktur der ini Datei ist der von
+ <filename>php.ini</filename> �hnlich.
+ </para>
+ <para>
+ <example>
+ <title>Inhalt der sample.ini</title>
+ <programlisting>
+<![CDATA[
+; Dies ist ein Beispiel f�r eine Konfigurationsdatei
+; Kommentare beginnen wie in der php.ini mit ';'
+
+[erste_gruppe]
+eins = 1
+f�nf = 5
+
+[zweite_gruppe]
+pfad = /usr/local/bin
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title><function>parse_ini_file</function></title>
+ <programlisting>
+<![CDATA[
+<?php
+
+// Ohne Gruppen analysieren
+$ini_array = parse_ini_file("sample.ini");
+print_r($ini_array);
+
+// Mit Gruppen analysieren
+$ini_array = parse_ini_file("sample.ini", TRUE);
+print_r($ini_array);
+
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ W�rde wie folgt ausgeben:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+Array
+(
+ [eins] => 1
+ [f�nf] => 5
+ [pfad] => /usr/local/bin
+)
+Array
+(
+ [erste_gruppe] => Array
+ (
+ [eins] => 1
+ [f�nf] => 5
+ )
+
+ [zweite_gruppe] => Array
+ (
+ [pfad] => /usr/local/bin
+ )
+
+)
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ </refsect1>
+ </refentry>
+
<refentry id="function.pathinfo">
<refnamediv>
<refname>pathinfo</refname>
@@ -2153,7 +2387,8 @@
<example>
<title><function>pathinfo</function></title>
<programlisting role="php">
-<?php
+<![CDATA[
+<?php
$path_parts = pathinfo("/www/htdocs/index.html");
@@ -2161,7 +2396,8 @@
echo $path_parts["basename"] . "\n";
echo $path_parts["extension"] . "\n";
-?>
+?>
+]]>
</programlisting>
</example>
</para>
@@ -2169,9 +2405,11 @@
W�rde ausgeben:
<informalexample>
<programlisting>
+<![CDATA[
/www/htdocs
index.html
html
+]]>
</programlisting>
</informalexample>
</para>
@@ -2194,14 +2432,14 @@
<type>int</type><methodname>pclose</methodname>
<methodparam><type>int</type><parameter>fp</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Schlie�t einen Prozess-Dateizeiger, der durch einen Aufruf von
- <function>popen</function> ge�ffnet wurde.
- </para>
- <para>
+ <function>popen</function> ge�ffnet wurde.
+ </para>
+ <para>
Der Dateizeiger muss g�ltig sein und durch einen erfolgreichen
Funktionsaufruf von <function>popen</function> zur�ckgegeben
- worden sein.
+ worden sein.
</para>
<para>
Gibt den End-Status eines laufenden Prozesses zur�ck.
@@ -2224,7 +2462,7 @@
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam><type>string</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
�ffnet eine Verbindung zu einem Prozess, der durch die Anweisung
<parameter>command</parameter> ausgef�hrt wurde.
</para>
@@ -2244,10 +2482,36 @@
<para>
<informalexample>
<programlisting role="php">
+<![CDATA[
$fp = popen ("/bin/ls", "r");
+]]>
</programlisting>
</informalexample>
</para>
+ <note>
+ <para>
+ Wenn das auszuf�hrende Kommando nicht gefunden werden konnte,
+ wird eine g�ltige Ressource zur�ckgegeben. Das mag seltsam
+ erscheinen, macht aber Sinn. Es erm�glicht Ihnen, auf von der
+ Shell zur�ckgegebene Fehlermeldungen zuzugreifen:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+error_reporting(E_ALL);
+
+/* Umleitung hinzuf�gen, dass wir stderr erhalten k�nnen */
+$fp = popen('/path/to/spooge 2>&1', 'r');
+echo "'$fp'; " . gettype($fp) . "\n";
+$read = fread($fp, 2096);
+echo $read;
+pclose($fp);
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ </note>
<para>
Siehe auch <function>pclose</function>.
</para>
@@ -2280,8 +2544,8 @@
</para>
<para>
Wenn <parameter>filename</parameter> mit "http://" (nicht case
- sensitive) beginnt, wird eine HTTP 1.0 Connection zu dem
- spezifiziertem Server ge�ffnet und der Text der Antwort wird auf
+ sensitive) beginnt, wird eine HTTP 1.0 Verbindung zu dem
+ spezifiziertem Server hergestellt und der Text der Antwort wird auf
die Standartausgabe geschrieben.
</para>
<para>
@@ -2291,8 +2555,8 @@
</para>
<para>
Wenn <parameter>filename</parameter> mit "ftp://" (nicht case
- sensitive) beginnt, wird eine FTP-Connection zu dem
- spezifiziertem Server ge�ffnet und die angeforderte Datei wird
+ sensitive) beginnt, wird eine FTP Verindung zu dem
+ spezifiziertem Server hergestellt und die angeforderte Datei wird
auf der Standartausgabe ausgegeben. Wenn der Server keinen
passiven Mode unterst�tzt, wird diese Funktion fehlschlagen.
</para>
@@ -2336,14 +2600,10 @@
fehlschlug.
</para>
<para>
- Siehe auch <function>symlink</function>,
- <function>readlink</function> und <function>linkinfo</function>.
+ Siehe auch <function>is_link</function>,
+ <function>symlink</function> und <function>linkinfo</function>.
</para>
- <note>
- <simpara>
- Diese Funktion hat unter Windows keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -2359,11 +2619,11 @@
<methodparam><type>string</type><parameter>oldname</parameter></methodparam>
<methodparam><type>string</type><parameter>newname</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Versucht eine Datei <parameter>oldname</parameter> in
<parameter>newname</parameter> umzubenennen.
- </para>
- <para>
+ </para>
+ <para>
Gibt &true; bei Erfolg, andernfalls &false; zur�ck.
</para>
</refsect1>
@@ -2382,7 +2642,7 @@
<type>int</type><methodname>rewind</methodname>
<methodparam><type>int</type><parameter>fp</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Setzt den Dateizeiger (Datei-Positions-Indikator) f�r
<parameter>fp</parameter> an den Anfang des Dateistreams.
</para>
@@ -2394,6 +2654,13 @@
zuvor erfolgreich durch <function>fopen</function> ge�ffnet
wurde.
</para>
+ <note>
+ <para>
+ Haben Sie eine Datei im Append-Modus ("a") ge�ffnet, werden
+ unabh�ngig von der Dateiposition alle zu schreibenden Daten
+ angeh�ngt.
+ </para>
+ </note>
<para>
Siehe auch <function>fseek</function> und
<function>ftell</function>.
@@ -2412,12 +2679,12 @@
<type>int</type><methodname>rmdir</methodname>
<methodparam><type>string</type><parameter>dirname</parameter></methodparam>
</methodsynopsis>
- <para>
+ <para>
Versucht ein Verzeichnis spezifiziert durch die Pfadangabe zu
l�schen. Das Verzeichnis muss leer sein und die relevanten Rechte
- m�ssen erteilt sein.
- </para>
- <para>
+ m�ssen erteilt sein.
+ </para>
+ <para>
Wenn ein Fehler auftritt wird 0 zur�ckgegeben.
</para>
<para>
@@ -2494,8 +2761,8 @@
Gibt &false; zur�ck, wenn ein Fehler auftrat.
</para>
<para>
- <function>stat</function> handhabt keine URL, wie
- <function>fopen</function>.
+ <function>stat</function> ist nicht f�r <link
+ linkend="features.remote-files">remote Dateien</link> geeignet.
</para>
<para>
Das Ergebnis dieses Funktionsaufrufes wird zwischengespeichert.
@@ -2519,8 +2786,8 @@
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
- Ermittelt statistische Informationen �ber eine Datei oder
- symbolischen Link, spezifiziert in <parameter>filename</parameter>.
+ Ermittelt statistische Informationen �ber eine Datei oder
+ symbolischen Link, spezifiziert in <parameter>filename</parameter>.
Diese Funktion ist identisch mit der Funktion
<function>stat</function>, au�er dass wenn der Parameter
<parameter>filename</parameter> ein symbolischer Link ist, dessen
@@ -2572,13 +2839,17 @@
Systeme (z.B. Windows) geben '-1' zur�ck.
</para>
<para>
+ <function>lstat</function> ist nicht f�r <link
+ linkend="features.remote-files">remote Dateien</link> geeignet.
+ </para>
+ <para>
Das Ergebnis dieses Funktionsaufrufes wird zwischengespeichert.
Siehe auch <function>clearstatcache</function> f�r weitere
Einzelheiten.
</para>
</refsect1>
</refentry>
-
+
<refentry id="function.realpath">
<refnamediv>
<refname>realpath</refname>
@@ -2595,20 +2866,21 @@
beseitigt Verweise zu '/./', '/../' und extra '/' Zeichen im Input
<parameter>path</parameter>, und gibt den absoluten Pfadnamen
kanonisch zur�ck. Der Pfad im Ergebnis enth�lt keine Komponenten
- eines symbolischen Links mehr, wie '/./' or '/../'.
+ eines symbolischen Links mehr, wie '/./' or '/../'.
</para>
-
<para>
<example>
<title><function>realpath</function></title>
<programlisting role="php">
+<![CDATA[
$real_path = realpath("../../index.php");
+]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
-
+
<refentry id="function.symlink">
<refnamediv>
<refname>symlink</refname>
@@ -2631,18 +2903,14 @@
erstellen, und <function>readlink</function> zusammen mit
<function>linkinfo</function>.
</para>
- <note>
- <simpara>
- Diese Funktion hat unter Windows-Systemen keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
<refentry id="function.tempnam">
<refnamediv>
<refname>tempnam</refname>
- <refpurpose>Erzeugt einen eindeutigen Dateinamen</refpurpose>
+ <refpurpose>Erzeugt eine Datei mit eindeutigem Dateinamen</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung</title>
@@ -2652,10 +2920,10 @@
<methodparam><type>string</type><parameter>prefix</parameter></methodparam>
</methodsynopsis>
<para>
- Erzeugt einen eindeutigen tempor�ren Dateinamen in dem
+ Erzeugt eine Datei mit einem eindeutigen Dateinamen in dem
spezifizierten Verzeichnis. Wenn das Verzeichnis nicht existiert,
- wird <function>tempnam</function> einen Dateinamen im tempor�ren
- Verzeichnis des Systems erstellen.
+ erstellt <function>tempnam</function> eine Datei im tempor�ren
+ Verzeichnis des Systems, und gibt den Dateinamen zur�ck.
</para>
<para>
Vor PHP 4.0.6 war das Verhalten von <function>tempnam</function>
@@ -2669,25 +2937,37 @@
</para>
<para>
Gibt den neuen tempor�ren Dateinamen bei Erfolg, oder eine
- &null; Zeichenkette wenn ein Fehler auftritt zur�ck.
+ &false; Zeichenkette wenn ein Fehler auftritt zur�ck.
<example>
<title><function>tempnam</function></title>
<programlisting role="php">
+<![CDATA[
$tmpfname = tempnam ("/tmp", "FOO");
+
+$fp = fopen($tmpfname, "w");
+fwrite($fp, "schreibe in T�mpor�rdatei");
+fclose($fp);
+
+// tue hier etwas
+
+unlink($tmpfname);
+]]>
</programlisting>
</example>
</para>
<note>
<simpara>
- Diese Funktion hat ihr Verhalten seit PHP 4.0.3 ge�ndert.
+ Diese Funktion hat ihr Verhalten seit PHP 4.0.3 ge�ndert.
Die tempor�re Datei wird ebenfalls angelegt um eine
"Hetzsituation" zu vermeiden, wo in der Zeit nach dem Generieren
- des Strings, und bevor das Script dazukommt die Datei anzulegen,
- die Datei im Dateisystem erscheinen k�nnte.
+ des Strings, und bevor das Script dazukommt die Datei anzulegen,
+ die Datei im Dateisystem erscheinen k�nnte. Beachten Sie, dass
+ falls Sie die Datei nicht mehr ben�tigen, Sie diese wieder entfernen
+ m�ssen (dies geschieht nicht automatisch).
</simpara>
</note>
<para>
- Siehe auch <function>tmpfile</function>.
+ Siehe auch <function>tmpfile</function> und <function>unlink</function>.
</para>
</refsect1>
</refentry>
@@ -2716,6 +2996,18 @@
Betriebssystems bzgl. der <literal>tmpfile(3)</literal> Funktion,
wie auch die <filename>stdio.h</filename> Header-Datei.
</para>
+ <para>
+ <example>
+ <title><function>tmpfile</function></title>
+ <programlisting role="php">
+<![CDATA[
+$temp = tmpfile();
+fwrite($temp, "schreibt in Tempor�rdatei");
+fclose($temp); // dies entfernt die Datei
+]]>
+ </programlisting>
+ </example>
+ </para>
<para>
Siehe auch <function>tempnam</function>.
</para>
@@ -2726,7 +3018,7 @@
<refnamediv>
<refname>touch</refname>
<refpurpose>
- Setzt das Datum der letzten �nderung einer Datei
+ Setzt die Zugriffs- und Modifizierungszeit einer Datei
</refpurpose>
</refnamediv>
<refsect1>
@@ -2739,11 +3031,12 @@
</parameter></methodparam>
</methodsynopsis>
<para>
- Versucht das Datum der letzten Modifikation einer Datei
- spezifiziert durch <parameter>filename</parameter> auf den Wert
- spezifiziert durch <parameter>time</parameter> zu setzten. Wenn
- die Option <parameter>time</parameter> nicht angegeben wurde,
- benutzt die Funktion die aktuelle Zeit.
+ Setzt Datum und Uhrzeit der letzten �nderung und des letzten Zugriffs
+ der durch <parameter>filename</parameter> spezifizierten Datei auf den
+ durch <parameter>time</parameter> spezifizierten Wert. Wenn die Option
+ <parameter>time</parameter> nicht angegeben wurde, wird die aktuelle
+ Zeit benutzt. Dies ist �quivalent zu dem, was utime tut (manchmal wird
+ auch als utimes davon gesprochen).
</para>
<para>
Wenn die Datei nicht existiert, wird sie erzeugt.
@@ -2753,6 +3046,7 @@
<example>
<title><function>touch</function></title>
<programlisting role="php">
+<![CDATA[
if (touch ($DateiName)) {
print "$DateiName Modifizierungs-Zeit wurde auf das aktuelle
Datum und die aktuelle Uhrzeit gesetzt.";
@@ -2760,6 +3054,7 @@
print "Tut mir leid, Modifikations-Zeit von $DateiName konnte
nicht ge�ndert werden.";
}
+]]>
</programlisting>
</example>
</para>
@@ -2789,11 +3084,7 @@
<function>umask</function> ohne Argumente gibt einfach die
aktuelle umask zur�ck.
</para>
- <note>
- <simpara>
- Diese Funktion hat auf Windows-Systemen keinen Effekt.
- </simpara>
- </note>
+ ¬e.no-windows;
</refsect1>
</refentry>
@@ -2813,16 +3104,11 @@
unlink() Funktion.
</para>
<para>
- Gibt 0 oder &false; zur�ck, wenn ein Fehler auftritt.
+ &return.success;
</para>
<para>
Siehe auch <function>rmdir</function> um Verzeichnisse zu l�schen.
</para>
- <note>
- <simpara>
- Diese Funktion k�nnte auf Windows-Systemen ohne Effekt bleiben.
- </simpara>
- </note>
</refsect1>
</refentry>
</reference>