File Upload - Probleme mit der Pfadangabe :(

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

  • File Upload - Probleme mit der Pfadangabe :(

    Hallo liebes Forum,

    ich hab eigentlich ein 0815-Problem und hab schon alles mögliche drüber gelesen (auch viel hier im Forum) aber es klappt einfach nicht

    Problem: Habe ein Skript das einfach eine Datei in ein bestimmtes Verzeichnis auf dem Server laden soll.

    Fehlermeldung:

    Warning: move_uploaded_file(../upp/): failed to open stream: Permission denied in /srv/www/vhosts/[meinedomain]/httpdocs/ordner/csvimport.php on line 15

    Warning: move_uploaded_file(): Unable to move '/tmp/phpyiTVhO' to '../upp/' in /srv/www/vhosts/[meinedomain]/httpdocs/ordner/csvimport.php on line 15

    Die Fehlermeldung sagt mir wohl das er die Daten vom Temp nicht in mein gewünschtes Verzeichnis "upp" kopieren kann. Ich bekomme manchmal auch eine open_basedir Fehlermeldung - je nach Pfad den ich angebe.

    Skript:
    HTML-Code:
    <form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <input name="userfile" type="file"><input type="submit" value="Send File">
    </form>

    PHP-Code:
    $uploaddir "../upp/"// hier hab ich schon alles mögliche eingegeben - absoluter Pfad, relativer Pfad ...

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
       echo 
    "super";
    } else {
        echo 
    "shit";

    Einstellungen Server (phpinfo()):

    safe_mode: Local Value=off, Master Value=on
    open_basedir: /srv/www/vhosts/[meinedomain]/httpdocs:/tmp
    upload_tmp_dir: no_value
    $_FILES-Array: Array ( [userfile] => Array ( [name] => ggg.txt [type] => text/plain [tmp_name] => /tmp/phpyiTVhO [error] => 0 [size] => 1860 ) )
    PHP-Version: 4

    Schlusswort:

    Ich bin am verzweifeln :/ Bei mir auf dem localhost klappt es super! auch habe ich mal SafeMode auf ON gemacht und es ging auch noch ohne Probleme. Ich denke das Problem MUSS der Pfadname bei $uploaddir sein - oder?
    Zuletzt geändert von FrozenEmotions; 21.08.2007, 13:12.
    www.FrozenEmotions.de

  • #2
    Was ergibt ein
    PHP-Code:
    var_dump($_FILES['userfile']['error']); 
    ?
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      int(0) ... zeigt er an
      www.FrozenEmotions.de

      Kommentar


      • #4
        versuchs mit DOCUMENT_ROOT und einer absoluten pfadangabe.

        Kommentar


        • #5
          Meinst du so:

          <form enctype="multipart/form-data" action="<?php $_SERVER['DOCUMENT_ROOT'] ?>" method="post">

          $uploaddir = "/srv/www/vhosts/[meinedomain]/httpdocs/ordner/upp/";

          Falls ja, kommt gleiche Fehlermeldung.



          Also noch zur Info, so sind die Ordner angelegt:

          ../httpdocs/ordner/upp

          in "ordner" ist das skript, in "upp" sollen die hochgeladenen Dateien rein.
          Zuletzt geändert von FrozenEmotions; 21.08.2007, 13:27.
          www.FrozenEmotions.de

          Kommentar


          • #6
            kann es sein, dass du das verzeichnis upp per ftp erstellt hast, ohne die entsprechenden rechte zu setzen?

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              nein, meine ich nicht. übergib die absolute pfadangabe an move_uploaded_file.

              Kommentar


              • #8
                ja! Ich greif auf den Server über Windows zu (Netzwerkressource). Hab aber auch auf den Ordner geklickt und alle Rechte vergeben die es zu vergeben gibt (schreib/lese). Ist das der Fehler?
                www.FrozenEmotions.de

                Kommentar


                • #9
                  schön! darf ich jetzt auch hineinschreiben?

                  Kommentar


                  • #10
                    könnte möglich sein aber kann es wirklich an dem Ordner liegen? Und wie soll ich ihn anderst erstellen als über ftp ..hmm
                    www.FrozenEmotions.de

                    Kommentar


                    • #11
                      hi, ich hat grad mal lust folgendes hier reinzulegen
                      vielleicht kannst du ja damit was anfangen
                      also ich lass bei mir bilder so hochladen, aber nicht in einen htaccess bereich
                      PHP-Code:
                      # wenn mit der datei alles io ist dann
                      ....
                      $filename "zahl.txt";
                      $fd fopen$filename"r" );
                      $contents fread$fdfilesize$filename ) );
                      fclose$fd );
                      $contents=$contents+1;
                      $fd fopen$filename"w" );
                      fputs$fd"$contents");
                      fclose$fd );
                      $nummer"$bildordner/$nummer$contents";
                      $nummer"$nummer$hallo";
                      $nummer22"$nummer";

                      $lokale_datei $_FILES['bild1']['tmp_name'];
                      $zieldatei "$nummer22";

                      // Die Verbindung herstellen
                      $connection_id ftp_connect("$ftp_server");

                      // Mit Benutzername und Kennwort anmelden
                      $login_result ftp_login($connection_id"$benutzername""$passwort");
                      ftp_chdir($connection_id,"html"); # ab ins root verzeichnis

                      // überprüfen ob alles gutgegangen ist
                      if ((!$connection_id) || (!$login_result)) {
                          echo 
                      "Ftp-Verbindung nicht hergestellt!";
                          echo 
                      "<p>Verbindung mit $ftp_server nicht möglich!</p>";

                          die;
                      } else {}

                      // Hochladen der datei

                      $upload ftp_put($connection_id$zieldatei$lokale_dateiFTP_BINARY);

                      // Upload-Status überprüfen
                      if (!$upload) {
                          echo 
                      "<p>Ftp upload war fehlerhaft!<br>Datei wurde nicht auf $ftp_server gespeichert</p>";
                      } else {}

                      // Schließen der Verbindung
                      ftp_quit($connection_id);
                      }
                      .... 
                      achso... $nummer ist der zufallsname der vergeben wird mit
                      PHP-Code:
                      $allow "0123456789abcdefghijklmnopqrstufwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
                      srand((double)microtime()*1000000);
                      for(
                      $i=0$i<10$i++) {
                      $nummer .= $allow[rand()%strlen($allow)];

                      und $hallo der dateityp, sprich .jpg oder .gif bei mir
                      vielleicht kannst du damit ja was anfangen und dir was drausbasteln
                      selfmade-webdesign
                      webdesign leipzig

                      Kommentar


                      • #12
                        Original geschrieben von penizillin
                        nein, meine ich nicht. übergib die absolute pfadangabe an move_uploaded_file.
                        Ich hab das mal probiert:

                        $uploaddir = $_SERVER['DOCUMENT_ROOT'];

                        leider auch ohne Erfolg

                        @brauni - DANKE ! Ich versuchs mal zu verstehen und testen.
                        www.FrozenEmotions.de

                        Kommentar


                        • #13
                          ok, hatte nämlich auch bei dem ftp-upload schwierigkeiten mit dem rootordner
                          PHP-Code:
                          ftp_chdir($connection_id,"html"); # ab ins root verzeichnis 
                          hat mein problem dann lösen können

                          ich habe den ordner einfach in der zieldatei angegeben, sprich ungefähr so
                          $ordner/datei.jpg
                          die bilddatei wurde dann direkt in den unterordner abgelegt -> schreibrechte nicht vergessen
                          selfmade-webdesign
                          webdesign leipzig

                          Kommentar


                          • #14
                            also ich hab mir das mal angeschaut mit dem ftp-upload, aber momentan wär ich echt froh wenn das simple Skript wo ich am Anfang gepostet habe funktionieren würde.

                            Hat vielleicht jemand noch irgendwelche Tipps? Ich wär wirklich SEHR dankbar !
                            www.FrozenEmotions.de

                            Kommentar


                            • #15
                              also ich teste gerade auf einem anderen Server, da geht es leider auch nicht.

                              Hat vielleicht jemand ein alternatives, EINFACHES skript ohne FTP-Anweisungen? Sicherheit spielt keine Rolle,es muss auch nichts überprüft werden (Dateityp, Größe etc.) da es nur für den internen Bereich ist.

                              Ich danke schon mal!
                              www.FrozenEmotions.de

                              Kommentar

                              Lädt...
                              X