datei upload



  • hi

    ich habe mich bei funpic.de angemeldet, und habe mir dan eine kleine website gemacht(habe mich bei selfhtml umgesehen)
    nun möchte ich einen datei upload machen
    das eingabefeld(mit durchsuchen-button) hab ich von selfhtml
    aber weiter ist es nur mit Perl/CGI beschrieben
    das ist mir zu aufwendig
    deshalb möchte ich bitten ob mir wer eine seh sehr sehr sehr einfache erklärung schicken könnte (oder vielleicht einen fertige Seite *g*)

    mfg
    luke



  • Naja, du musst halt mal schauen, was für Skriptsprachen von deinem Webspace unterstützt werden. PHP? Perl/CGI?



  • @luki: meinst du das hier? http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/
    is doch nicht kompliziert. also ich find des total einfach, und als fertiges skript kannst es ja auch schon nehmen, da wird doch alles erklärt.
    es gibt eigentlich keine einfachere möglichkeit dateien über HTTP hochzuladen.
    (auch wenn das manche PHP-fritzen meinen)

    des problem is nur, dass bei funpic afair kein Perl/CGI zur verfügung steht.



  • Wenns kein CGI gibbet, dann machs mit PHP



  • hab mal gegoogelt und bin dann auf einen FILE UPLOADER V1.1 gestoßen
    hab in dann installiert doch er funct nicht

    könnt ihr mir die fehlermeldung bitte erklären
    http://hartungs.ha.funpic.de/upload.php

    PS.: fehler tritt beim hochladen auf



  • hallo ?



  • luki90 schrieb:

    hallo ?

    Wenn du die Fehlermeldung hingeschrieben hättest, hätten bestimmt sofort welche geantwortet.

    Hier die Fehlermeldung:

    Warning: copy() [function.copy]: URL file-access is disabled in the server configuration in /usr/export/.../upload.php on line 88
    
    Warning: copy(http://hartungs.ha.funpic.de/upload/image.jpg)
    [function.copy]: failed to open stream: no suitable wrapper could be found in /usr/export/.../upload.php on line 88
    


  • der fehler liegt nicht beim upload (glaube icht zumindest)

    wegen dieser zeile

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/usr/export/tmp/phpgRmXWd' to 'http://hartungs.ha.funpic.de/upload' in /usr/export/www/vhosts/funnetwork/hosting/hartungs/index.html on line 43

    denke ich dass der server keinen upload zulässt

    was kann ich jetzt machen ???



  • Unable to move '/usr/export/tmp/phpgRmXWd' to 'http://hartungs.ha.funpic.de/upload'

    Du hast doch nicht wirklich den HTTP-URI als Zielort angegeben, oder? Falls doch, dann brauchst du dich auch nicht wundern, dass es nicht funktioniert (wie die erste Fehlermeldung dir übrigens auch schon mitteilt) ...

    Benutz relative oder kanonische Pfade für Dateisystemoperationen, aber niemals Webadressen! Abgesehen davon, dass es schon rein technisch in deinem Fall nicht funktioniert - Jede auch nur im Ansatz sicher konfigurierte PHP-Umgebung erlaubt den Zugriff auf Webressourcen in Dateisystemfunktionen nicht.



  • ich habe nicht gewusst dass ich keine absouluten pfad angeben darf.

    Jede auch nur im Ansatz sicher konfigurierte PHP-Umgebung erlaubt den Zugriff auf Webressourcen in Dateisystemfunktionen nicht

    das ist mein nächstes problem.

    gibt es andere möglichkeiten einen upload bereich zu gestalten



  • luki90 schrieb:

    ich habe nicht gewusst dass ich keine absouluten pfad angeben darf.

    Das hat nichts mit absolut oder nicht zu tun. Du hast einfach einen HTTP-URI als Zielort angegeben -> Was soll denn PHP damit anfangen? HTTP ist ein Client-Server-Protokoll, i.e. PHP meldet sich bei der von dir angegebenen Adresse als Client und fragt Daten ab. Dein Ansatz impliziert, dass jeder einfach unter Angabe einer Webadresse dort Dateien speichern könnte; das wäre keine schöne Vorstellung, oder? 😉

    gibt es andere möglichkeiten einen upload bereich zu gestalten

    Ich fasse nochmal zusammen:
    Beispiel für einen kanonischen Pfad: /usr/irgendwas
    Beispiel für einen relativen Pfad: ./someFolder/someFile
    Beispiel für einen HTTP-URI: http://domain.tld/someFile

    Denk jetzt einfach einmal darüber nach, wo du deine hochgeladene Datei speichern möchtest! Wo? Na, ich denke mal, im Dateisystem! Also wieso übergibst du der Funktion einen HTTP-URI? Wenn du unter Windows eine Datei kopieren wolltest, dann würdest du doch auch sagen copy('E:\\Datei', 'E:\\Kopie') und nicht copy('E:\\Datei', 'http://localhost:80/Kopie').



  • Bei funpic gibt es doch ein Forum, frag doch da mal nach, ob Uploadskripte unterstützt werden.
    Wenn nicht, such dir einen anderen Server.

    Gruß,
    D.U.



  • Natürlich werden Uploadformulare dort unterstützt; der Fehler liegt ganz wo anders, wie aus meinem letzen Posting eigentlich hervorgehen sollte. 🙄

    http://de3.php.net/copy schrieb:

    dest - The destination path. If dest is a URL, the copy operation may fail if the wrapper does not support overwriting of existing files.

    Selbst wenn URL-Wrapping bei Funpic aktiviert ist (was ich aber eigentlich nicht glaube -> zu gefährlich!), ist ein Überschreiben einer Datei via HTTP dennoch weder möglich noch sinnvoll.

    Um es noch einmal ganz deutlich zu machen: Folgendes darf nicht funktionieren, und tut es entsprechend auch nicht!

    copy('c:\\hackedScript.php', 'http://www.c-plusplus.net/forum/index.php');
    

    (sonst hätten wir hier ein gewaltiges Problem 😉 )


Anmelden zum Antworten