PHP
Referenzliste
is_uploaded_file
Dateisystem-Funktionen
Befehl:
bool is_uploaded_file ( string $filename )
Parameter-Liste:
Beschreibung | |
---|---|
Pfad zur Datei. |
Rückgabewerte:
Gibt bei Erfolg
TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben. Beschreibung:
Gibt
Diese Prüfung ist insbesondere dort interessant, wo irgendeine Aktion mit upgeloadeten Dateien deren Inhalt dem Nutzer (oder sogar anderen Nutzern auf dem gleichen System) zugänglich machen könnte.
Um korrekt arbeiten zu können, benötigt die Funktion is_uploaded_file() einen Parameter wie $_FILES['userfile']['tmp_name']. Der Name der upgeloadeten Datei auf dem Anwenderrechner $_FILES['userfile']['name'] funktioniert nicht.
TRUE
zurück, wenn die Datei filename mittels HTTP-POST upgeloadet wurde. Dies ist hilfreich, um sicherzustellen, dass kein böswilliger Nutzer versucht hat, das Skript zu überlisten, indem er es Dateien bearbeiten lässt, die es gar nicht bearbeiten sollte, zum Beispiel /etc/passwd.Diese Prüfung ist insbesondere dort interessant, wo irgendeine Aktion mit upgeloadeten Dateien deren Inhalt dem Nutzer (oder sogar anderen Nutzern auf dem gleichen System) zugänglich machen könnte.
Um korrekt arbeiten zu können, benötigt die Funktion is_uploaded_file() einen Parameter wie $_FILES['userfile']['tmp_name']. Der Name der upgeloadeten Datei auf dem Anwenderrechner $_FILES['userfile']['name'] funktioniert nicht.
Aktiv in Version:
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
Siehe auch:
is_uploaded_file() - Beispiel:
Eingabe:
<?php if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { echo "Datei ". $_FILES['userfile']['name'] ." erfolgreich upgeloadet.\n"; echo "Anzeige des Inhalts\n"; readfile($_FILES['userfile']['tmp_name']); } else { echo "Mögliche Dateiupload-Attacke: "; echo "Dateiname '". $_FILES['userfile']['tmp_name'] . "'."; } ?>
is_uploaded_file() - Beispiel 2:
Eingabe:
<?PHP if ( ! empty ( $_FILES['file']['name'] ) ) { if ( @ copy ( $_FILES['file']['tmp_name'], 'tmp/' . $_FILES['file']['name'] ) ) { if ( is_uploaded_file ( $_FILES['file']['tmp_name'] ) ) { echo '<b>Upload beendet!</b><br>'; echo 'Dateiname: ' . $_FILES['file']['name'] . '<br>'; echo 'Dateigrösse: ' . $_FILES['file']['size'] . 'Byte'; } } } else { ?> <html> <head> </head> <body> <form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="file" value="" /> <br /> <input type="submit" name="Abschicken" value="Upload beginnen" /> </form> </body> </html> <?PHP } ?>
Ausgabe:
Upload beendet!
Dateiname: bigfile.gz
Dateigr�sse: 832314 Byte
Dateiname: bigfile.gz
Dateigr�sse: 832314 Byte
Dateisystem-Funktionen