[PHP] Dateiupload ohne Formular.

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Fury.

    [PHP] Dateiupload ohne Formular.

    Hallo, habe mal wieder ein Problem mit PHP.
    Ich will eine Datei hochladen, jedoch ohne Formular, sodass ich die Datei so hochladen kann: upload.php?file=C:\test.txt.
    Alles was ich bisher gefunden habe funktioniert nicht.
    Wär cool wenn jemand helfen könnte.

    Danke im voraus

    mfg
    Jetzt schnell und einfach das Zehnfingersystem mit Scribble 3 erlernen. Mehr Informationen und Download gibts hier. Redundancy2 - leichtgewichtige freie Cloudsoftware. Folge mir auf GitHub

    Fury schrieb:

    upload.php?file=C:\test.txt.
    Der Server soll also auf dein lokales Dateisystem zugreifen. Interessant.

    Das einzige, was so ähnlich wäre, ist, wenn du (z.B. per POST) deine Datei base64-Kodiert sendest. Das ist dann aber schon ein Standard-Upload.
    Von meinem iPhone gesendet
    @ Dodo:
    Weil keins benötigt wird.

    @ All
    Werds anders lösen. Trotzdem Danke.
    Jetzt schnell und einfach das Zehnfingersystem mit Scribble 3 erlernen. Mehr Informationen und Download gibts hier. Redundancy2 - leichtgewichtige freie Cloudsoftware. Folge mir auf GitHub

    Dodo schrieb:

    Per POST wäre ja wiederum nur mit einem Formular möglich.

    Z.B. per POST. Ich würde ungern 1MB (1.048.576 Bytes) base64-kodieren und dann per GET senden. Das tut irgendwie weh.. ich glaube, dass das instinkt ist.
    Von meinem iPhone gesendet
    Ist möglich. (falls es im Browser dafür keine Checks gibt)

    1) redirect.php erstellen, welche als GET den Pfad annimmt
    2) in der redirect.php ein Formular erstellen, welches unsichtbar ist - gleichzeitig in den Inhalt vom "input"-Tag vom Typ "file" den GET-Wert schreiben
    3) einen beliebigen Text anzeigen lassen, dass die Datei gerade hochgeladen wird
    4) via JavaScript das Formular absenden

    Quellcode

    1. <body onload="javascript:document.forms[0].submit();">


    Könnte funktionieren.

    nikeee13 schrieb:

    Ich würde ungern 1MB (1.048.576 Bytes) base64-kodieren und dann per GET senden.

    Nicht möglich; GET-Requests sind auf 2048 Zeichen im Standard definiert.
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Chrisber: Aber dies wäre nun auch wiederum ein Formular, der TE möchte aber keins.
    Es ging ja nicht draum es versteckt für den User unsichtbar abzuschicken sondern darauf zu verzichten. Ansonsten wärs ja eine kleinigkeit, ein Formular kann man selbstverständlich mit JS steuern und Abschicken ohne das der User davon etwas merkt.

    Jedoch wird dein Code nicht funktionieren, weil im onload des Bodys das Formular noch nicht existiert um darauf zuzugreifen, dieser Submit müsste via Script aufgeführt werden Nachdem das Formular im HTML Quelltext existiert. Auch hierbei wird der Code von Oben nach unten abgearbeitet.
    Alternativ müsste man im Script erstma prüfen documente.complete oder so ähnlich dies solange prüfen, bis es true ist und dann erst den Submit ausführen.
    Ich experimentier mal weiter.. Vielleicht find ich ne Lösung.
    *Erledigt*
    Jetzt schnell und einfach das Zehnfingersystem mit Scribble 3 erlernen. Mehr Informationen und Download gibts hier. Redundancy2 - leichtgewichtige freie Cloudsoftware. Folge mir auf GitHub