• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Upload Formular

Status
Für weitere Antworten geschlossen.

shade

Neues Mitglied
Hallo. Ich hab mir ein Uploadformular erstellt, nur irgendwie läd er nichts hoch!? Es kommt immer die Meldung, das ich das Upload Formular benutzen solle. Kann mir jemand sagen warum...

*thx*

formular.html
HTML:
          <form enctype="multipart/form-data" action="./scrpt/uplds/uplds.php" method="post">
            <code>
            <input type="hidden" name="MAX_FILE_SIZE" value="30000">
            <input name="userfile" type="file">
            <br>
            <br>
            <input name="submit" type="submit" value="Uploaden" />
            </code>
          </form>

upload.php
PHP:
<?php

// Variabeln festlegen
$max_byte_size = 10240000;
$allowed_types = "(zip|raw|pdf|doc|txt)";

// Formular wurde abgeschickt
if(isset($_POST["Uploaden"])) {

// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {

// Datei auch nicht zu groß
if($_FILES["file"]["size"] <= $max_byte_size) {

// Alles OK -> Datei kopieren
if(copy($_FILES["file"]["tmp_name"],'./uploads/'. $_FILES["file"]["name"])) {

echo "Datei erfolgreich hochgeladen!<br>";
echo "Name: " . $_FILES["file"]["name"] . "<br>";
echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>";
echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>";
echo "Link: <a href=\"/uploads/" . $_FILES["file"]["name"] . "\">" . $_FILES["file"]["name"] . "</a>"; 

}
else {echo "Datei konnte nicht hochgeladen werden.";}
}
else {echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen.";}
}
else {echo "Die Datei besitzt keine ungültige Endung.";}
}
else {echo "Keine Datei zum Hochladen angegeben.";}
}
else {echo "Bitte benutzen Sie das Upload Formular.";}
?>
 
Werbung:
Mit
PHP:
if(isset($_POST["Uploaden"]))
fragst Du ab, ob eine Variable gesetzt ist, aber Uploaden ist der Inhalt der Variable.

Mit
PHP:
if(isset($_POST["submit"]))
sollte es gehen.

Gruß thuemmy
 
Werbung:
Na, immerhin sind wir schon einen Schritt weiter :-D

Lass Dir mal die Variable $_FILES ausgeben, und zwar direkt nachdem Du festgestellt hast, dass der Submit-Button gedrückt wurde.

Gruß thuemmy
 
Ne, steht da nicht wirklich drinne :-D

Lass Dir das Array mal so ausgeben:
PHP:
print_r($_FILES);

Gruß thuemmy
 
Werbung:
Ah danke.
PHP:
Array (     [userfile] => Array         (             [name] => link.txt             [type] => text/plain             [tmp_name] => /var/tmp/phpX8aaVU             [error] => 0             [size] => 32         )  )
 
Also hochgeladen ist die Datei. Muss bei is_uploaded_file() nicht der Original-Dateiname übergeben werden?

Gruß thuemmy
 
PHP:
Original-Dateiname übergeben

Mach ich doch mit [file] oder nicht!?


PHP:
Also hochgeladen ist die Datei

Meinst du in das temp Verzeichniss!?
 
Werbung:
Also ...
1. es muss Tmp_name heißen
2. schaumal her dein uploadfeld heißt "userfile" und die nennst die variable
$_FILES['file']
ist ein wiederspruch ...
wenn dann $_FILES['userfile']
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben