swiss cow: Pfadangabe bei move_uploaded_file

Hallo,

bin gerade an einem Datei Upload.
Problem:
Die Datei wird in den Ordner der ausführenden Datei ("upload.php") gespeichert. Ich möchte die Datei aber im Unterordner "files"...

Auszug aus "upload.php":

if(move_uploaded_file($_FILES["file"]["tmp_name"],
$_FILES["file"]["name"]))

{ MELDUNG: ALLES ERFOLGREICH etc...)

ich muss also bei: $_FILES["file"]["name"]))
...irgendwo der Pfad angegeben werden.

Danke für eure Hilfe!

swiss cow

  1. Hallo,

    bin gerade an einem Datei Upload.
    Problem:
    Die Datei wird in den Ordner der ausführenden Datei ("upload.php") gespeichert. Ich möchte die Datei aber im Unterordner "files"...

    Auszug aus "upload.php":

    if(move_uploaded_file($_FILES["file"]["tmp_name"],
    $_FILES["file"]["name"]))

    { MELDUNG: ALLES ERFOLGREICH etc...)

    ich muss also bei: $_FILES["file"]["name"]))
    ...irgendwo der Pfad angegeben werden.

    Danke für eure Hilfe!

    swiss cow

    Hi, ich hab vor ein paar tagen diesen Upload geschrieben (oder von irgendwo kopiert)
    bei mir funktionierts so:

    $url=$_SERVER["DOCUMENT_ROOT"]."/data";

    if(!empty($_FILES["file1"]))
      {
        $uploaddir = $url.'/'.$ordnername."/";
        $uploaddir.=$_FILES["file1"]["name"];

    //Copy the file to some permanent location
        if(move_uploaded_file($_FILES["file1"]["tmp_name"], $uploaddir))
        {
          chmod($uploaddir,0777);
        }
      }

    schön tag noch,
    oder en schöne?
    oder isch das swiss cow eifach son spruch? ;)

    1. Hello,

      if(isset($_FILES['error']) and ($_FILES['error'] === 0))  ## nur dann ist ein File angekommen

      {
          $uploaddir = $url.'/'.$ordnername."/";

      >     $uploaddir.=$_FILES["file1"]["name"];

      $uploaddir.= basename($_FILES["file1"]["name"]);  ## sonst könnte da auch ....\passwort
                                                              ## kommen (symbolisch)

      //Copy the file to some permanent location
          if(move_uploaded_file($_FILES["file1"]["tmp_name"], $uploaddir))
          {
            chmod($uploaddir,0777);
          }
        }

      Und dann bitte darauf achten, dass man sich nicht ausführbare Scripte einfängt.
      Wenn z.B. nur Bilder hichgeladen werden sollen, hilft getimagesize()
      http://de3.php.net/manual/en/function.getimagesize.php

      http://de3.php.net/features.file-upload

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hallo Tom,

        chmod($uploaddir,0777);

        kann ich damit jedem ordner die chmod setzen?

        Und dann bitte darauf achten, dass man sich nicht ausführbare Scripte einfängt.

        Danke für den Hinweis. Ich hab bereits ne Abfrage auf Datei-Endung eingebaut.

        Bist Du der Chef von bitworks?

        Liebe Grüsse
        swiss cow

        1. Hello,

          chmod($uploaddir,0777);

          kann ich damit jedem ordner die chmod setzen?

          chmod ist ein Dienstprogramm von Linux/Unix, mit dem man Rechte setzen kann.
          Ob Du es auf ein Directory oder eine Datei anwenden darfst, hängt davon ab, welche Rechte Du auf das übergeordnete Directory hast.

          Bist Du der Chef von bitworks?

          Da gibt es keinen "Chef".
          Es ist eine Markengemeinschaft.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      2. Wenn schon dieses Thema hier angesprochen wird...

        Ich will 4 Dateien uploaden. Aber wenn ich einfach 4 if Schleifen aneinander hänge geht das nicht (natürlich mit file2, file3 etc)

        Und irgendwie komm ich auf keine anständige Schleife, die alle 4 Files uploaded.

        Jemand eine idee?

        Danke

        1. Hello,

          Ich will 4 Dateien uploaden. Aber wenn ich einfach 4 if Schleifen aneinander hänge geht das nicht (natürlich mit file2, file3 etc)

          "If-Schleifen" gibt es nicht

          Die Idee: http://selfhtml.bitworks.de/multiupload.html
          Natürlich noch zuende progrtammiert, aber als Anregung durchaus brauchbar... ;-)

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      3. Hallo,

        Und dann bitte darauf achten, dass man sich nicht ausführbare Scripte einfängt.
        Wenn z.B. nur Bilder hichgeladen werden sollen, hilft getimagesize()

        oder den MIME-Type überprüfen

        //Bsp: es dürfen bloß Text-Dateien hochgeladen werden
        if ($_FILES['datei']['type'] == "text/plain")
        {
           do_something()
        }

        mfg, roebert

        --
        Please do not confuse what we say with what we think we are saying.
        (^_^)
        Eternity is a very long time, especially towards the end.
        1. Hello Roebert,

          Und dann bitte darauf achten, dass man sich nicht ausführbare Scripte einfängt.
          Wenn z.B. nur Bilder hichgeladen werden sollen, hilft getimagesize()

          oder den MIME-Type überprüfen

          //Bsp: es dürfen bloß Text-Dateien hochgeladen werden
          if ($_FILES['datei']['type'] == "text/plain")
          {
             do_something()
          }

          Nein, das ist leider falsch und daher ebenfalls sehr gefährlich für den Server.
          $_FILES['datei']['type'] kommt vom Client, ist also beliebig fälschbar.

          Die einzige Möglichkeit, den MIME-Type zu überprüfen, ist durch Einsichtnahme in die Datei auf dem Server. Leider ist die Funktion mime_content_type() http://de2.php.net/manual/de/function.mime-content-type.php nicht länger (...) Bestandteil des Standardumfanges von PHP. Um die Prüfung mir einer gleichwertigen oder besseren Funktion kommt man aber beim Upload nicht herum, wenn einem sein Server lieb ist.

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    2. oder en schöne?
      oder isch das swiss cow eifach son spruch? ;)

      nei nei, nid nu en spruch!

      ha scho vorher gwüsst, dass du us de schwiz chunsch...
      ... kein dütsche seit "pinkigi"... :)

      Und: Danke vielmol! Klappt wunderbar! ;)

      1. ha scho vorher gwüsst, dass du us de schwiz chunsch...
        ... kein dütsche seit "pinkigi"... :)

        Lol, isch mer gar nid ufgfalle ;)
        Ich schribe zvill schwiizerdütsch, eiidüti.

        1. Ich schribe zvill schwiizerdütsch, eiidüti.

          me cha gar nid z'viel schwiizerdütsch schribe... ;)
          vo wo bisch denn?

          tschüss tschau!
          swiss cow         (reimt sich sogar) :)

          1. Ich schribe zvill schwiizerdütsch, eiidüti.

            me cha gar nid z'viel schwiizerdütsch schribe... ;)
            vo wo bisch denn?

            tschüss tschau!
            swiss cow         (reimt sich sogar) :)

            das stimmt eich... isch doch eso e geili sprach, chasch eifach schribe wid wotsch.. s mun eifach igendwie richtig töne...

            i chum us züri.. du?

            1. das stimmt eich... isch doch eso e geili sprach, chasch eifach schribe wid wotsch.. s mun eifach igendwie richtig töne...

              da wär mol en super dütsch unterricht! Nur no 6er! :)

              i chum us züri.. du?

              bi vo SH - nid mol so wit weg.
              züri hetti dim dialekt aber nid geh...

              1. i chum us züri.. du?

                bi vo SH - nid mol so wit weg.
                züri hetti dim dialekt aber nid geh...

                hehe, ich schrib au anders alsi red ;) ka wiso... wird immer agfiggt vo kollege/inne weni so schrib.. DU BISCH KEI ZÜRCHERIN WENN ESO SCHRIBSCH!

                *hoil* ;)

                1. DU BISCH KEI ZÜRCHERIN WENN ESO SCHRIBSCH!

                  *hoil* ;)

                  Gits aber no oft, dass lüt ganz andersch schribed als sie reded.
                  Da het glaub irgendwas mit de Ghirnwindige z'tue... =)

                  So, letschti frog: (susch artets zum Missbruch vom Forum als Chat us...) ;)

                  wa schaffsch du, dass du während de arbetszit a so sache baschtlisch?

                  LG
                  swiss cow

                  1. DU BISCH KEI ZÜRCHERIN WENN ESO SCHRIBSCH!

                    *hoil* ;)

                    Gits aber no oft, dass lüt ganz andersch schribed als sie reded.
                    Da het glaub irgendwas mit de Ghirnwindige z'tue... =)

                    So, letschti frog: (susch artets zum Missbruch vom Forum als Chat us...) ;)

                    wa schaffsch du, dass du während de arbetszit a so sache baschtlisch?

                    LG
                    swiss cow

                    lol, hani vorene au dänkt.. ez werdemer den grügt vo der moderation *angsthab*.. ich mach s parktikum imne IT betrieb und bi halt nochli noob, obwohl ichs eich i de letschte 3 jahr schuel het söle lerne ;)

                    ich wünsche! bis es anders ma!