Dateiuploads mit PHP
Dienstag, 1. Mai 2007 | Autor: Pr0g
Das erste Uploadscript (Teil 3)
Wer das Script nicht selber zusammensetzen möchte kann nun das komplette Script in die “upload.php” kopieren und dann testen:
<?php
// Prüfen ob eine Datei geschickt wurde, falls nicht wurde das Formular noch nicht gesendet
if (!isset($_FILES['meine_datei'])) {
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
Datei: <input type="file" name="meine_datei" />
<input type="submit" value="Hochladen" />
</form>
<?php
} else {
// Quelldatei im tmp-Ordner
$source_file = $_FILES['meine_datei']['tmp_name'];
// Zieldatei im dateien-Ordner
$target_file = 'dateien/' . $_FILES['meine_datei']['name'];
// Prüfen ob der Upload erfolgreich war
if ($_FILES['meine_datei']['error'] == UPLOAD_ERR_OK) {
// Versuchen die Datei aus dem Quell- ins Zielverzeichnis zu verschieben
if (move_uploaded_file($source_file, $target_file)) {
// Erfolgsmeldung ausgeben
echo 'Datei erfolgreich hochgeladen!';
} else {
// Fehlermeldung ausgeben
echo 'Beim Verschieben der Datei trat ein Fehler auf!';
}
} else {
// Fehler ermitteln
$error = '';
switch ($_FILES['meine_datei']['error']) {
case UPLOAD_ERR_INI_SIZE:
$error = 'Die hochgeladenen Datei überschreitet das in der php.ini gesetzte Maximum!';
break;
case UPLOAD_ERR_FORM_SIZE:
$error = 'Die hochgeladenen Datei überschreitet die in MAX_FILE_SIZE gesetzte Größe!';
break;
case UPLOAD_ERR_PARTIAL:
$error = 'Die hochgeladene Datei wurde nur teilweise übertragen!';
break;
case UPLOAD_ERR_NO_FILE:
$error = 'Es wurde keine Datei hochgeladen!';
}
// Fehlermeldung ausgeben
echo 'Fehler beim Hochladen: <b>' . $error . '</b>';
}
// Zurück-Link anbieten um eine weitere Datei hochzuladen
echo '<br /><br /><a href="upload.php">Zurück</a>';
}
?>



