Verschieben & mehr
Schauen wir uns zunächst die einfachsten Funktionen an. Da sich jeder mit HTML auskennt, ist die Verwendung von Pfadangaben und Dateinamen bereits bekannt.
relative Pfade:
- ausgehend vom Standort des Programms
- Bsp: "uploads/dateiname.txt"
absolute Pfade:
- vom /root aus gesehen
- Bsp: "c:/xampp/htdocs/projectx/uploads/dateiname.txt"
Verschieben
Für das Verschieben einer Datei von dem Einen in ein anderes Verzeichnis, möchte ich zwei Funktionen vorstellen.
move_uploaded_file ( string DATEI, string ZIEL)
Diese Funktion wird ganz speziell für Dateien verwendet, welche von einem Besucher hochgeladen wurden. Diese landen nämlich zuerst in einem temporären Bereich auf dem Server. Liegt die dort zu lange rum, wird sie automatisch gelöscht. Diese Funktion verschiebt aber nicht nur eine Datei, sondern sie prüft auch, ob es sich tatsächlich um eine hochgeladene Datei handelt. Wenn nicht, dann tut sie garnichts und gibt "false" zurück.
<?PHP
// Pfad und Name wo die Datei zur Zeit liegt.
// Angenommen im Formular stand:
// <input type="file" name="uploadfile" ....
$aktuell = $_FILES['uploadfile']['tmp_name'];
// Der zukünftige Pfad und Name
$ziel = 'upload/neueDatei.txt';
$status = move_uploaded_file ( $aktuell, $ziel );
if ($status) {
echo 'Datei wurde erfolgreich verschoben.';
} else {
echo 'Fehler: Datei wurde nicht verschoben.';
}
?>
move( string DATEI, string ZIEL)
Tut das Gleiche wie "move_uploaded_file()", allerdings ist ihr egal, ob es sich um eine hochgeladene Datei handelt oder nicht.
Weitere
Alle Funktionen (außer filesize) geben "true" zurück, wenn alles geklappt hat, ansonsten "false".
Kopieren
Das kopieren funktioniert genauso wie das verschieben, nur mit dem Unterschied, dass die Datei am Ursprungsort erhalten bleibt. Die benötigte Funktion lautet:
copy( string DATEI, string ZIEL)
Umbenennen
rename( string DATEI, string NAME)
Löschen
unlink( string DATEI)
Existenz prüfen
file_exists( string DATEI)
Datei prüfen
Ob es tatsächlich eine Datei ist (kein Link, oder Verzeichnis)
is_file( string DATEI)
Dateigröße
filesize( string DATEI)