Upload einiger Bilddateien auf Server funktioniert nicht

Scream30866

Grünschnabel
Hallo liebe Community,

ich habe mir ein kleines Uploadfeld im Mitgliederbereich auf meine Webseite
eingebaut. Nach erfolgreichem Hochladen wird die Datei im Zielverzeichnis
gespeichert und der User wird auf eine Bestätigungsseite weitergeleitet.

Leider werden einige Dateien (.jpg) nicht hochgeladen. Ich habe es mal mit
einer .txt, .pdf, .PNG, und .JPG Datei versucht. Da hat es geklappt.

Kann mir wer helfen?

Der Code des Uploadformulares lautet:

HTML:
<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form method="post" action="upload.php" enctype="multipart/form-data">
  Datei:
  <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  <input type="file" name="datei" size="40" maxlength="100000">
  <input type="submit" name="Submit" value="Senden">
</form>
</body>
</html>

Die PHP Datei lautet:

PHP:
<?php

// Prüfen des Arrays $_FILES
if (isset($_FILES["datei"])) {

// Upload-Status
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

// Muster zur Überprüfung der im Dateinamen
// enthaltenen Zeichen (Optional)
$regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";

// Dateiname und Dateigröße
if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 100000) {

// Temporäre Datei in das Zielverzeichnis
// des Servers verschieben.
move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);

// Redirect zur Erfolgsmeldung
header("Location: status.html");
}
else {
  echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
}
}
else {
  echo "Fehler: Während der Übertragung aufgetreten!";
}
}
else {
  echo "Fehler: Dateiupload fehlgeschlagen!";
}

?>

Ich komme bei einem Fehler auf die Seite "Fehler: Im Dateinamen oder Dateigrössen Limit".

Hoffentlich könnt ihr mir helfen :)

Liebe Grüße

Tobi
 
Zuletzt bearbeitet:
Und die Dateien müssen mit einen Buchstaben beginnen.

Code:
^[a-z_]

007-JB.jpg oder 2012-Mallorca.jpg wären ungültige Dateinamen.
 
Hi,

Warum eine Überprüfung auf den Dateinamen? "josef & maria.jpg" => ungültig.
Was passiert wohl wenn jemand eine .php Datei hochlädt?

Vorsicht mit Upload-Scripten!

Grüße,
BK
 
Zurück