POST - upload Frage???

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

  • POST - upload Frage???

    hi,

    die Frage ist eigentlich vielleicht eher HTML, ABER ich denke, dass die Loesung jedoch php bedeuten wird!
    Also, ich habe eine html-Seite gemacht, in der ein Formular erscheint, mit dem man Dateien via "post" uploaden kann.
    Jetzt gibt es jedoch das Problem, dass wenn ich eine Datei ueber "Durchsuchen..." aussuche, diese NICHT upgeloadet wird!
    Also, ich weiss auch, was das Problem ist und zwar klappt der upload, wenn man aus der Datei-Eingabe die "\" in "/" aendert!
    d.h.:
    "C:\test\test.txt" klappt nicht, aber
    "C:/test/test.txt" klappt!

    So, jetzt habe ich mal versucht mittels des ftp2.php die "\" Zeichen in "/" zu aendern, aber dann ist es bereits zu spaet, da die Datei ja schon hochgeladen wurde, wenn ftp2.php aufgerufen wird! (...glaube ich zumindest und die Versuche in diese Richtung waren auch ergebnisslos!)
    Das Problem muesste dann wohl Windows sein, oder?
    ...kann ich denn die Dateiuebergabe irgendwie so aendern, dass man nicht von Hand alle "\" in "/" aendern muss???
    ...geht es vielleicht, wenn ich das Formular erst an ein anderes php-Script sende, dass die Eingabe repariert und erst dann der upload beginnt???

    so long,

    Duncan McLord

    PS: ...hier der html-Teil, vielleicht laesst sich da ja schon was aendern!


    <FORM ENCTYPE="multipart/form-data" ACTION="ftp2.php" METHOD=POST>
    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
    Send this file: <INPUT NAME="userfile" TYPE="file">
    <INPUT TYPE="submit" VALUE="Send File">
    </FORM>

  • #2
    Kann es sein dass die Sache auf einem lokalen Server läuft?

    Mehr Infos zum Prinzip des Fileuploads gibts im "Handling File uploads"-Kapitel im PHP-Manual!

    Kommentar


    • #3
      hi,

      also ich habe den Fehler auf dem localhost, aber auch auf einem Internet-Server!
      ...und ich habe echt Null Ahnung, warum man nun die "\" in "/" aendern muss!

      so long,

      Duncan McLord

      PS: ...was ist denn daran "normal", dass der Fehler auf dem localhost auftritt?

      Kommentar


      • #4
        Server

        \ in / ändern muss man nur, wenn der Server auf WinNT o. Win2000 läuft. bei Unix basierten Systemen funzt das ganz normal.

        es gibt sicher eine funktion, mit der man die "\" in "/" umwandeln kann. die kenne ich aber leider auch nicht.

        ich würde jedenfalls nicht mit noch einer weiteren php dateii hantieren, weil es dann passieren kann, dass der server die hochgeladene datei in der zwischenzeit schon wieder aus dem tmp ordner löscht.

        c ya @all
        schmalle
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          hm,

          ich glaube jedoch ehrlich gesagt, dass es nicht an dem Server, sondern an dem Client liegt, d.h. wie der Client also schon die Datei an den Server uebergibt.
          ...ich meine, dass mein I-Server ein Unix System ist ... aber ich werde es noch mal testen.

          Ach ja, das die Datei in der Zwischenzeit geloescht werden koennte habe ich gar nicht bedacht!
          ...duerfte sogar sehr wahrscheinlich sein!
          hm, aber es muss doch irgendeine Moeglichkeit geben, dies zu umgehen!??
          ...denn dann macht das "Dursuchen..." auch Sinn, ansonsten waere es ja Schwachsinn, wenn ich einerseits die Moeglichkeit bekomme durch meine Dateien zu browsen, aber dann die Angaben von Hand wieder aendern muss!
          Ach ja,
          zu dem php-Script... mir faellt gerade ein, dass man natuerlich auch einfach erst mal ein Formular zum Datei Aussuchen machen koennte, diese wird dann als Variable an einen anderen Teil im php-Script geschickt, welches dann die Variable entsprechend korrigiert und dann den upload einleitet!
          (...aber geht das ueberhaupt? kann ich im Hintergrund ein Formular starten? ...der User muesste doch noch mit einem Button-Click bestaetigen, oder?)

          ...ach ja, und ist es eigentlich moeglich, eine Datei festzulegen, die hochgeladen werden soll?
          ...denn dann waere es ja ohne Probleme moeglich ganze Datei-/ Ordner- / Partitions-Strukturen auszulesen, ohne dass es der User bemerkt!!!

          so long,

          Duncan McLord

          PS: ...wir hatten neulich das Problem, dass es moeglich war, auf einem Testserver (mit apache) Verzeichnisse mit php ausgeben zu lassen, obwohl diese geschuetzt waren!!!
          ...auch sehr interessant/erschreckend!

          Kommentar


          • #6
            Hallo!
            Ich glaub da liegt ein riesiges Missverständnis vor, das daher kommt dass Browser & Server auf der gleichen Maschine laufen.
            Es ist *unmöglich*, vom Client-Rechner Dateien auf den Server hochzuladen, ohne dass der User die Datei in einem <INPUT TYPE=file> festlegt (von diesem und jenem Sicherheitsloch mal abgesehen). Wie gesagt, "Handling File Uploads" im PHP-Manual erklärt das ganze!

            Kommentar


            • #7
              ...ABER wie bereits oben schon mal erwaehnt:

              Auch auf dem Internet-Server laeuft das Script nur, wenn ich "\" in "/" aendere!!!

              ...und dass es auf dem localhost nicht klappt, durfte ich leider schon selbst erfahren

              na ja, ABER dieser Internet-Server hat halt auch das Problem. Es mag sein, dass Schmalle Recht hat, aber es waere trotzdem daemlich, wenn man zwar Dateien aussuchen darf, diese aber wiederum von Hand aendern muss!
              (also die Pafdangabe!)

              ...so long,

              Duncan McLord

              Kommentar


              • #8
                Also ich glaub wir reden grad ein bisschen aneinander vorbei... Aber wie auch immer, einen Pfadnamen kann man ganz einfach anpassen:
                str_replace("\","/",$dateiname);
                Oder ist das nicht das Problem?

                Kommentar

                Lädt...
                X