PHP/Dateioperatoren: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) (New page: Zur effektiven Arbeit mit Dateien sind Funktionen zum Verschieben, Löschen und Umbenennen notwendig. Die einfachen Dateifunktionen setzen voraus, dass die Namen der zu behandelnden Dateie...) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Zur effektiven Arbeit mit Dateien sind Funktionen zum Verschieben, Löschen und Umbenennen notwendig. Die einfachen Dateifunktionen setzen voraus, dass die Namen der zu behandelnden Dateien bekannt sind. Vollständige oder relative Pfadangaben können nach Bedarf eingesetzt werden. | Zur effektiven Arbeit mit Dateien sind Funktionen zum Verschieben, Löschen und Umbenennen notwendig. Die einfachen Dateifunktionen setzen voraus, dass die Namen der zu behandelnden Dateien bekannt sind. Vollständige oder relative Pfadangaben können nach Bedarf eingesetzt werden. | ||
{| class=wikitable | {| class=wikitable width=100% | ||
! Funktion !! Beschreibung | ! Funktion !! Beschreibung | ||
|- | |- | ||
Zeile 37: | Zeile 37: | ||
{| class=wikitable width=100% | {| class=wikitable width=100% | ||
| width=50% | | | width=50% | | ||
<source lang=php enclose=div> | |||
<?php | <?php | ||
$file = "data/muster.txt"; | $file = "data/muster.txt"; | ||
Zeile 60: | Zeile 61: | ||
{{cat|Datei}} | |||
{{cat|PHP}} | {{cat|PHP}} |
Aktuelle Version vom 10. Januar 2009, 11:20 Uhr
Zur effektiven Arbeit mit Dateien sind Funktionen zum Verschieben, Löschen und Umbenennen notwendig. Die einfachen Dateifunktionen setzen voraus, dass die Namen der zu behandelnden Dateien bekannt sind. Vollständige oder relative Pfadangaben können nach Bedarf eingesetzt werden.
Funktion | Beschreibung |
---|---|
copy | Kopiert eine Datei. Im Erfolgsfall wird "TRUE" zurückgegeben, sonst "FALSE". Platzhalterzeichen sind nicht erlaubt. |
rename | Benennt eine Datei um oder verschiebt sie. Stimmt der Pfad von Quelle und Ziel nicht überein, so wird die Datei verschoben, auch wenn der Dateiname gleich bleibt. Im Erfolgsfall wird "TRUE" zurückgegeben, sonst "FALSE". |
unlink | Löscht eine Datei. Im Erfolgsfall wird "TRUE" zurückgegeben, sonst "FALSE". |
Das folgende Beispiel legt zu einer Datei eine Sicherheitskopie an und ändert dabei die Dateinamenserweiterung. Zur Ausführung des Skripts werden Schreibrechte für den Webnutzer (www-data) im Verzeichnis "logdata" benötigt. Die Funktion "copy" gibt "TRUE" zurück, wenn der Kopiervorgang erfolgreich war, andernfalls wird "FALSE" zurückgegeben. PHP gibt ausserdem eine Warnung aus, die durch Voranstellen des Zeichens "@" vor den Funktionsaufruf unterdrückt werden kann.
<?php
$path = "data";
$file = "muster.txt";
echo "<p>Kopiere Datei <b>$file</b></p>\n";
if (!@copy("$path/$file", "logdata/$file.bak"))
{
echo "<p>Datei $file nicht gefunden.</p>\n";
}
else
{
echo "<p>Datei $file erfolgreich gesichert.</p>\n";
}
?>
|
Kopiere Datei muster.txt Datei muster.txt erfolgreich gesichert. |
Auch beim Umbenennen und Verschieben von Dateien ist zu beachten, dass der Nutzer im Zielverzeichnis Schreibrechte benötigt. Damit das Skript mehrfach ausgeführt werden kann, werden die Änderungen am Schluss des folgenden Skripts gleich wieder rückgängig gemacht.
<?php
$file = "data/muster.txt";
echo "<p>Verschiebe Datei: <b>$file</b></p>\n";
$new = "data/muster.txt.bak";
if (!rename($file, $new))
{
echo "<p>Datei $file nicht gefunden</p>\n";
}
else
{
echo "<p>Datei $file erfolgreich nach $new verschoben</p>\n";
}
## Dieser Abschnitt stellt den ursprünglichen Zustand wieder her,
## damit das Skript mehrfach ausgeführt werden kann:
copy ($new, $file);
?>
|
Verschiebe Datei: data/muster.txt Datei data/muster.txt nicht gefunden |