PHP File Upload

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von balufreak, 17.09.2004.

  1. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    28
    Mitglied seit:
    12.10.2003
    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
     
  2. TheFallenAngel

    TheFallenAngel MacUser Mitglied

    Beiträge:
    501
    Zustimmungen:
    7
    Mitglied seit:
    27.10.2003
    du darfst vor dem Header keine ausgaben machen
     
  3. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    28
    Mitglied seit:
    12.10.2003
    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...
     
  4. aguilera

    aguilera MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    Mitglied seit:
    09.03.2004
    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
     
  5. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    28
    Mitglied seit:
    12.10.2003
    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?
     
  6. aguilera

    aguilera MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    Mitglied seit:
    09.03.2004
    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?
     
  7. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    28
    Mitglied seit:
    12.10.2003
    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?
     
  8. aguilera

    aguilera MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    Mitglied seit:
    09.03.2004
    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?!

    Äh...
    Schau Dir doch mittels echo einfach mal an, was Du wohin kopierst und vergleiche das mit dem, was Du vorhast.

    *plonk* ;)
     
  9. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    28
    Mitglied seit:
    12.10.2003
    PHP:
    $_FILES['file']['$username'//$username steht für den neuen Filenamen
    Das mit den Echos werde ich mal machen
     
  10. matzetronic

    matzetronic MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    Mitglied seit:
    25.10.2003
    zum debuggen ist

    PHP:
    echo "<pre>";
    echo 
    print_r($_FILES);
    echo 
    "</pre>";
    ganz hilfreich...
     
Die Seite wird geladen...

Diese Seite empfehlen