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
die up_form.html
und die 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>
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>
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>