PHP File Upload

balufreak

balufreak

Aktives Mitglied
Thread Starter
Dabei seit
12.10.2003
Beiträge
1.563
Reaktionspunkte
28
Hallo Leute!

Bei meinem PHP Upload funktioniert irgendetwas nicht. I weiss einfach nicht was.
Ich poste jetzt nun einfach mal mein script.

Das Eingabeformular:
HTML:
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
  <p>
    <input type="file" name="file">
</p>
  <p>
    <input type="submit" name="Submit" value="Upload">
</p>
</form>

Das PHP Uploadscript

PHP:
$uploaddir = 'infb/uploads/';
$username = $_SESSION['infb_username'];
echo $_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfils']['tmp_path'],$uploaddir.$_FILES['userfiles'][$newfilename]); header("Location: index.php");

Jetzt gibt das einfach eine leere seite aus. Wo liegt der Fehler?

Greets balu
 
du darfst vor dem Header keine ausgaben machen
 
Das ist mir schon klar. Das echo ist auch nur zu testzwecken. Aber das komische ist, das ich dann gar nichts auf dieser Seite sehe. Nicht mal das echo...
 
Falls Du den Code per Copy and Paste aus Deiner PHP Datei übertragen hast:
echo $_FILES['file']['name'];
statt "userfile".
Es muss genauso wie im Formular heißen!

Grüße
agui
 
gut danke!

Jetzt zeigts mir den dateinamen schon mal an...

Das File wird aber nicht koppiert. Den uploadpfad, habe ich den absoluten angegeben. Nun muss ich auch den temporären pfad angeben?
 
1) lies hier: http://de2.php.net/manual/de/features.file-upload.php
2) schau Dir Deine Indizes bei den Arrays an (min. drei Fehler bei move_uploaded_file) Oo

Wenn es nach den ersten beiden Schritten immer noch nicht klappen sollte:
Schau Dir Deine Schreibberechtigungen an. Darf Dein Webserver schreiben wo er soll?
 
Also mein move_uploaded_file sieht nun so aus
PHP:
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . $_FILES['file']['$username']))
{
	echo "<h1>Upload OK!</h1>";
}

die variablen sind auch richtig gesetzt. Nun kommt bei mir folgende fehlermeldung
Code:
Warning: move_uploaded_file(/home/****/public_html/infb/upload/): failed to open stream: Is a directory in /home/katunch/public_html/infb/sites/upload.php on line 10

Warning: move_uploaded_file(): Unable to move '/tmp/phppdWXEh' to '/home/****/public_html/infb/upload/' in /home/****/public_html/infb/sites/upload.php on line 10

Dabei habe ich jetzt mal die berechtigung vom Ordner upload auf 777 gesetzt.

Wieso geht das immer noch nicht?
 
balufreak schrieb:
$_FILES['file']['$username']
Mei, entweder hast Du 1) nicht gelesen, ein zusätzliches Feld ins Array eingefuegt oder es gibt Felder in $_FILES, die sich meiner Kenntniss entziehen.
Was soll das bezwecken?!

balufreak schrieb:
/home/****/public_html/infb/upload/
Äh...
Schau Dir doch mittels echo einfach mal an, was Du wohin kopierst und vergleiche das mit dem, was Du vorhast.

balufreak schrieb:
Dabei habe ich jetzt mal die berechtigung vom Ordner upload auf 777 gesetzt.
*plonk* ;)
 
PHP:
$_FILES['file']['$username'] //$username steht für den neuen Filenamen

Das mit den Echos werde ich mal machen
 
zum debuggen ist

PHP:
echo "<pre>";
echo print_r($_FILES);
echo "</pre>";

ganz hilfreich...
 
balufreak schrieb:
PHP:
$_FILES['file']['$username'] //$username steht für den neuen Filenamen
Der lautet $_FILES['file']['name']!
Und wieso neu? Wenn Du die Datei umbenennen willst, musst Du das anders machen!
 
Okee habs jetzt hinbekommen. Danke für eure Hilfe!
 
Zurück
Oben Unten