Upload schlägt fehl ohne ersichtlichen Grund

Foxgame

Mitglied
Hallo ich habe aus einen Tutorial ein Uploadskript geschrieben. Ich habe den Code jetzt schon 3x überprüft und ich finde den Fehler nicht. es wird jedes mal ausgegee das der Upload fehlgeschlagen ist. Es sind 3 dateien. Ich glaube es liegt an der upload.php

Die status.html
Code:
<html>
<head<
<title> Dateiupload Erfolgreich!</title>
</head>
<body>
<p> <font face = "Arial" size = "6">Upload: Erfolgreich</font> </p>
<p> <font face = "Arial"> <a href="up_form.html">[Zum Dateiupload]</a> </font> </p>
</body>
</html>
die up_form.html
Code:
<html>
<head>
<title> Dateiupload</title>
</head>
<body>
<p><font fache= "Arial" size="6">Dateiupload via HTML</font></p>
<form method="post" action="upload.php" enctype="multipart/form-data">
Datei:
<input type="hidden" name ="MAX_FILES_SIZE" value ="100000">
<input type="file" name"datei" size = "40" maxlength ="100000">
<input type="submit" name ="Submit" value = "Senden">
</form>
<?php
// Dateiinformaton über Schleifen ausgeben
if (isset($_FILES["datei"]))
    {
        foreach ($_FILES["datei"] as $key=>$element)
        {
            echo "[$key] => $element <br>";
        }
    }
?>
</body>
</html>
und die upload.php

Code:
<html>
<head>
<title> Dateiupload Status</title>
</head>
<body>
<?php

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

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

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

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

//Temporäre Datei in das Zielverziechnis des Servers verschieben

move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);

//Redirect zur Erfolgs-Meldung
header("Location: status.html");
}
else {
echo "Fehler: Im Dateinamen oder Dategrössen Limit!";
}
}
else {
echo "Fehler: Während der Übertragung aufgetreten!";
}
}
else {
echo "Fehler: Datei-Upload fehlgeschlagen!";
}

?>
</body>
</html>
 
Welche Fehlermeldung wird denn ausgegeben? Anhand dieser weißt du ja, welche Bedingung nicht erfüllt wurde und kannst der Ursache weiter auf den Grund gehen.
 
Gleichheitszeichen vergessen:
HTML:
<input type="file" name="datei" size="40" maxlength="100000">
 
Warning: preg_match() expects at least 2 parameters, 1 given in C:\xampp\htdocs\Uploadskript\upload.php on line 18
Fehler: Im Dateinamen oder Dategrössen Limit!
 
Bei dieser Fehlermeldung bin ich jetzt aber volkommendüberfragt

Warning: move_uploaded_file(shots/Uploadskript/finder.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\Uploadskript\upload.php on line 22

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\xampp\tmp\php5E.tmp' to 'shots/Uploadskript/finder.txt' in C:\xampp\htdocs\Uploadskript\upload.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Uploadskript\upload.php:6) in C:\xampp\htdocs\Uploadskript\upload.php on line 25
 
Zurück