Upload-Fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beginn
break
code
datei
definieren
email
ersten aufruf
extension
fehler
fehlermeldung
formular
funktionieren
image
informieren
mime
obigen beitrag
ordner
type
versuchen
-
Hallo an alle! Ich habe ein Uploadscript, was mir einen Fehler anzeigt, nachdem ich auf upload drücke! Kann mir jemand helfen?
Script:
<?php error_reporting(E_ALL); // Funktionen definieren // ----------------------------------------------- function checkUpload($myFILE, $file_extensions, $mime_types, $maxsize) { $errors = array(); // Uploadfehler prüfen switch ($myFILE['error']){ case 1: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".ini_get('upload_max_filesize')."</b> ist."; break; case 2: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".$maxsize/(4056*4056)." MB</b> ist."; break; case 3: $errors[] = "Die Datei wurde nur teilweise hochgeladen."; break; case 4: $errors[] = "Es wurde keine Datei ausgewählt."; return $errors; break; default : break; } // MIME-Type prüfen if(count($mime_types)!=0 AND !in_array(strtolower($myFILE['type']), $mime_types)){ $fehler = "Falscher MIME-Type (".$myFILE['type'].").<br />". "Erlaubte Typen sind:<br />\n"; foreach($mime_types as $type) $fehler .= " - ".$type."\n<br />"; $errors[] = $fehler; } // Dateiendung prüfen if($myFILE['name']=='' OR (count($file_extensions)!=0 AND !in_array(strtolower(getExtension($myFILE['name'])), $file_extensions))){ $fehler = "Falsche Dateiendung (".getExtension($myFILE['name']).").<br />". "Erlaubte Endungen sind:<br />\n"; foreach($file_extensions as $extension) $fehler .= " - ".$extension."\n<br />"; $errors[] = $fehler; } // Dateigröße prüfen if($myFILE['size'] > $maxsize){ $errors[] = "Datei zu groß (".sprintf('%.2f',$myFILE['size']/(4056*4056))." MB).<br />". "Erlaubte Größe: ".$maxsize/(4056*4056)." MB\n"; } return $errors; } // gibt die Dateiendung einer Datei zurück function getExtension ($filename) { if(strrpos($filename, '.')) return substr($filename, strrpos($filename, '.')+1); return false; } // erzeugt einen Zufallswert function getRandomValue() { return substr(md5(rand(1, 9999)),0,8).substr(time(),-6); } // erzeugt einen neuen Dateinamen aus Zufallswert und // Dateiendung function renameFile ($filename) { return getRandomValue().".".getExtension($filename); } // Werte zur Dateiprüfung initialisieren // ----------------------------------------------- $maxsize = 4056*4056; $file_extensions = array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'zip', 'rar'); $mime_types = array('image/pjpeg', 'image/jpeg', 'image/gif', 'image/png', 'image/x-png', 'application/zip', 'application/rar'); // Upload-Ordner definieren // ----------------------------------------------- $ordner = "upload/"; // Beginn des Skriptes // ----------------------------------------------- echo "<html>\n"; echo "<head>\n"; echo " <title>Datei-Upload</title>\n"; echo "</head>\n"; echo "<body>\n"; // Falls der Benutzer auf "Upload" gedrückt hat, // wird die Datei überprüft if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){ // Fehlerarray erzeugen $errors = array(); $myFILE = $_FILES['Datei']; $errors = checkUpload($myFILE, $file_extensions, $mime_types, $maxsize); if(count($errors)){ echo "<p>\n". "Die Datei konnte nicht gespeichert werden.<br />\n"; foreach($errors as $error) echo $error."<br />\n"; echo "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n". "</p>\n"; } else { do { $neuer_name = renameFile($myFILE['name']); } while(file_exists($ordner.$neuer_name)); if(@move_uploaded_file($myFILE['tmp_name'], $ordner.$neuer_name)){ echo "<p>\n". "Die Datei wurde erfolgreich gespeichert.<br />\n". "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n". "</p>\n"; } else{ echo "<p>\n". "Die Datei konnte nicht gespeichert werden.<br />\n". "Es ist ein Upload-Fehler aufgetreten.<br />\n". "Bitte versuchen Sie es später erneut.<br />\n". "<br />\n". "Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.<br />\n". "<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n". "</p>\n"; } } } // Beim ersten Aufruf des Skriptes wird das // Upload-Formular angezeigt else{ echo "<h1>Laden Sie ein Bild hoch!</h1>\n"; echo "<h2>Erlaubte Dateiendungen sind:</h2>\n"; foreach($file_extensions as $extension) echo " - ".$extension."\n<br />"; echo "<h2>Erlaubte Dateigröße:</h2>\n"; echo " - maximal ".($maxsize/(1024*1024))." MB\n<br />"; echo " <form ". "action=\"".$_SERVER['PHP_SELF']."\" ". "method=\"post\" ". "enctype=\"multipart/form-data\">\n"; echo " <label for=\"Datei\">Datei auswählen</label>\n"; echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\" />\n"; echo " <input type=\"file\" name=\"Datei\" id=\"Datei\" />\n"; echo " <input type=\"submit\" name=\"submit\" value=\"Upload\" />\n"; echo " </form>\n"; } echo "</body>\n"; echo "</html>\n"; ?> <html> <body> <a href="start.php">Zurück</a> </body> </html>
Und die Fehlermeldung:
Die Datei konnte nicht gespeichert werden. Es ist ein Upload-Fehler aufgetreten. Bitte versuchen Sie es später erneut. Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.
Das heißt, dass das Script ja funktioniert, aber es einen Fehler gibt! Nur wo?
Beitrag zuletzt geändert: 19.7.2010 17:28:41 von piratentaverne -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Bitte editier deinen obigen Beitrag um die Fehlermeldung, welche erscheint!
-
Ne, es geht jetzt! Ich habs hinbekommen! Es lag am Webspace! Anscheinend erlaubt er keinen Upload oder so!
Beitrag zuletzt geändert: 19.7.2010 17:58:41 von piratentaverne -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage