Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular - File Upload?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular - File Upload?

    Hallo Zussammen...

    Ich wollt mir ma in einem Formular ein File Upload einrichten, doch funktioniert das nich so ganz..

    Hier ist ma mein Script:

    PHP-Code:
    <?php

    $your_file    
    $_FILES["your_file"];

    if(isset(
    $your_file)){
            
            
    $file_target "/var/www/uploads/";
            
    $file_move move_uploaded_file($your_file['tmp_name'], $file_target $your_file['name']);
            
            if (
    $file_move) {
                echo 
    "Some Infos: "var_dump($_FILES);
                
            echo 
    "Your File, you uploadet:\n<br />
                The Name: "
    .    $your_file['name']."\n<br />
                The Location: "
    .$your_file['tmp_name']."\n<br />
                The Size: "
    .    $your_file['size']."\n<br />
                The Type: "
    .    $your_file['type']."\n<br />";
            }
        }    
        else {
            echo 
    "An Error while Uploading...?<br />";
            
    var_dump($your_file);
        }
    ?>
    Was hab ich da falsch gemacht? Es kommt bei mir immer der Fehler und bei var_dumb immer NULL...

    Danke für die Hilfe
    MFG
    Toby
    codestyle.ch
    ----------------------------

  • #2
    enctype="multipart/form-data"
    beim Formular gesetzt ?
    print_r($_FILES); ?

    -> deine isset() prüfung ergibt IMMER true, da du die Variable 2 zeilen drüber erst setzt.

    Kommentar


    • #3
      Das mit den zwei Zeilen drüber stimmt nich, dass hab ich nur für das Forum so gemacht....
      Aaaaber.. Ups.. ich hab den Enctype vergessen...

      Ich werde das Heute noch einfügen und melden, obs funktioniert hat..

      Danke ^^

      MFG Toby
      codestyle.ch
      ----------------------------

      Kommentar


      • #4
        Sry, für den Doppelpost.. aba ich hab noch ne Frage...

        Also wenn ich die Datei mit move_uploaded_file verschieben will, kommt folgende Fehlermeldung:

        Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 10157 is not allowed to access /var/www owned by uid 0 in /home/httpd/vhosts/hofoa.ch/httpdocs/tests/formular/formular_ausg.php on line 129

        Woran könnte das liegen?

        Mein PHP Script sieht momentan so aus:

        PHP-Code:
        <?php

        $your_file    
        $_FILES["your_file"];

        if(isset(
        $your_file)){
                    
                    
        $file_target "/var/www/tests/formular/uploads/"// Da kommen die hinaufgeladenen Dateien hin...
                    
        $file_url $file_target $your_file['name'];
                    
        $file_move move_uploaded_file($your_file['tmp_name'], $file_url);
                    
                    if (
        $file_move) {
                        echo 
        "Some Infos: "var_dump($_FILES);
                        
                    echo 
        "Your File, you uploadet:\n<br />
                        The Name: "
        .    $your_file['name']."\n<br />
                        The Location: "
        .$your_file['tmp_name']."\n<br />
                        The Size: "
        .    $your_file['size']."\n<br />
                        The Type: "
        .    $your_file['type']."\n<br />
                        <br />
                        You Image:
                        <img src="
        .$file_url." alt=".$your_file['name']." />
                        "
        ;
                        
                    }
                    else {
                        echo 
        "An Error while Uploading...?<br />";
                        echo 
        "<pre>";
                        
        print_r($your_file);
                        echo 
        "</pre>";
                    }
                }
        ?>

        Danke für die Hilfe
        MFG Toby
        codestyle.ch
        ----------------------------

        Kommentar


        • #5
          Das hat nichts mit deinem Script zu tun! Safe Mode ist eine Sicherheitseinstellung, die man in der php.ini ein- und ausschalten kann. Es wird hauptsächlich auf Servern verwendet, wo viele verschiedene Leute ihre Webserver haben als Sicherheitsmassnahme. Dadurch sind verschiedene Funktionen eingeschränkt oder gar verboten. Am meisten merkt man das, wenn man auf Dateien lesend/schreibend zugreifen will. Dies kann man nur tun, wenn die Datei von genau dem selben PHP-Script erstellt wurde. Bei einem File-Upload ist das leider nicht der Fall, deshalb auch die Meldung, dass du keinen Zugriff auf die Datei hast.

          => wenn du an die php.ini rankommst, selber dort ändern. Sonst mal dem Provider in den Arsch kriechen, auch wenn es wahrscheinlich nichts hilft ^^

          Kommentar


          • #6
            Zitat von Toby Beitrag anzeigen
            Also wenn ich die Datei mit move_uploaded_file verschieben will, kommt folgende Fehlermeldung:

            Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 10157 is not allowed to access /var/www owned by uid 0 in /home/httpd/vhosts/hofoa.ch/httpdocs/tests/formular/formular_ausg.php on line 129

            Woran könnte das liegen?
            Daran:
            $file_target = "/var/www/tests/formular/uploads/"; // Da kommen die hinaufgeladenen Dateien hin...
            ----------

            Kommentar


            • #7
              Danke, ich werd ma nachfragen ^^
              Aber ich hoffe danach funktionierts ^.^

              MFG Toby
              codestyle.ch
              ----------------------------

              Kommentar


              • #8
                Zitat von Toby Beitrag anzeigen
                Danke, ich werd ma nachfragen ^^
                Wozu nachfragen? Du willst Deine Files in ein Verzeichnis schieben, welches Dir nicht gehört.

                Aber ich hoffe danach funktionierts ^.^
                Das wird auch nach der Pfadkorrektur nicht funktionieren, weil auch dann der safe_mode was dagegen hat. Das File gehört dem Webserver, das Script und sicher auch das Verzeichnis gehört dem FTP-User. Dat jibbt Zoff...

                Kommentar


                • #9
                  Sry, dass versteh ich jetzt iwi nich so ganz...
                  Ich bin immer noch der FTP Benutzer und mein Provider is mein Chef...
                  Also ich denke, dass werd ich wohl doch noch iwi hinkriegen, dass das läuft?
                  Andere könnens ja auch?!

                  Sry, verstehs nich ganz....

                  Gruss Toby
                  codestyle.ch
                  ----------------------------

                  Kommentar


                  • #10
                    Tut mir leid, dass ich nochmals nachfrage muss, aber gibts echt keine Möglichkeit wie ich das umgehen kann...
                    Leider darf ich nichts an der php.ini umstellen und mein Chef will das auch nich und so, wegen der Sicherheit..

                    Es kann aber doch nich sein, dass das jetzt einfach nicht geht?!
                    Man muss doch das iwi umgehen können... Ohne das der Safe Mode reklamiert..

                    Danke Gruss Toby
                    codestyle.ch
                    ----------------------------

                    Kommentar


                    • #11
                      Im Safe Mode darfst du nicht außerhalb des DocumentRoots arbeiten. Probiere es mal mit einem Unterordner im Scriptordner aus und gebe ihn im Script wie folgt an: "./ordnername/". Probier auch evtl. mal chmod aus (0777).

                      Sollte eigentlich funktionieren, da move_uploaded_file() nicht vom Safe_Mode betroffen ist.

                      Kommentar


                      • #12
                        du hast das Problem falsch verstanden :P

                        du VERSUCHST auf ein Verzeichnis zuzugreifen, auf dass du keinen Zugriff hast und wo deine Datei auch nicht liegt.
                        Wenn du das änderst, hast du gewonnen.

                        Kommentar


                        • #13
                          Oh.. Ich hab aber das Verzeichnis selbst erstellt?... Vielleicht habe ich einen Fehler beim Pfad gemacht...
                          Ich schaus mir nochmals an..

                          Danke MFG Toby
                          codestyle.ch
                          ----------------------------

                          Kommentar

                          Lädt...
                          X