Enrico: Skript für File-uploads mittels FTP ohne PHP-eigene Funktionen?

Hallo,

gerade wollte ich mich in die Thematik "File-uploads" mittels AJAX und PHP machen und musste feststellen, dass der Provider folgende Befehle abweist:

ftp_alloc, ftp_cdup, ftp_chdir, ftp_chmod, ftp_close, ftp_connect
ftp_delete, ftp_exec, ftp_fget, ftp_fput, ftp_get_option, ftp_get
ftp_login, ftp_mdtm, ftp_nb_continue, ftp_nb_fget, ftp_nb_put
ftp_nlist, ftp_pasv, ftp_put, ftp_pwd, ftp_quit, ftp_raw
ftp_rawlist, ftp_rename, ftp_rmdir, ftp_set_option, ftp_site
ftp_size, ftp_ssl_connect, ftp_systype

Damit habe ich wohl gar keine Möglichkeiten mehr, mein Vorhaben, wie eigentlich geplant, über PHP umsetzen zu können.

Welche Alternativen würdet ihr mir denn vorschlagen, die sich auch für mich als Laien umsetzbar sind, abgesehen davon, den Provider zu wechseln (den hat unser Bandleader leider gewählt, ist also erst mal fix)?

Ich möchte deshalb eine eigene Verwaltung auf die Beine stellen, um erstens wieder etwas dazulernen zu können, als auch zweitens die Möglichkeit zu haben, beispielsweise mit einem Upload auch gleichzeitig zugehörige Textdateien anpassen zu lassen, die auf der Bandhomepage dann wieder ausgelesen und angezeigt werden und verkünden, dass wir beispielsweise einen neuen Song hochgeladen haben.

Danke und Gruß,
Enrico

  1. gerade wollte ich mich in die Thematik "File-uploads" mittels AJAX und PHP machen und musste feststellen, dass der Provider folgende Befehle abweist:

    ftp_alloc, ftp_cdup, ftp_chdir, ftp_chmod, ftp_close, ftp_connect
    ftp_delete, ftp_exec, ftp_fget, ftp_fput, ftp_get_option, ftp_get
    ftp_login, ftp_mdtm, ftp_nb_continue, ftp_nb_fget, ftp_nb_put
    ftp_nlist, ftp_pasv, ftp_put, ftp_pwd, ftp_quit, ftp_raw
    ftp_rawlist, ftp_rename, ftp_rmdir, ftp_set_option, ftp_site
    ftp_size, ftp_ssl_connect, ftp_systype

    Naja. So lange ein:

    $file=`mktemp`;  
    $res=`wget ftp://foo.bar/baz/tolleDatei -O $file 1>/dev/null 2>/dev/null; wc -c $file`;
    

    noch geht ist ftp_exec ziemlich gut ersetzbar. Womöglich hast Du aber auch die Möglichkeit, eine eigene php.ini zu verwenden und obiges zu ändern. (Der Hoster wollte wohl ein paar Steine in den Weg rollen um es seinen Kunden nicht so leicht zu machen, den gängigen Chinesen von der NSA oder der Werbebranche neue Möglichkeiten zu eröffnen.

    Jörg Reinholz

    1. Hallo Jörg,

      tut mir leid, aber ich verstehe nur Bahnhof, auf welches Türchen Du hier deutest...

      Gruß,
      Enrico

      1. Also, ich habe gelesen, dass Du von FTP-Exec geschrieben hast. Damit kann man mittels PHP Dateien via FTP von einem Server holen. (oder hochladen)

        Nun, mit wget geht das auch. Und wget lässt sich in einer subshell (innerhalb von Backticks) nutzen.

        Jörg Reinholz

  2. Hi,

    gerade wollte ich mich in die Thematik "File-uploads" mittels AJAX und PHP machen und musste feststellen, dass der Provider folgende Befehle abweist:

    ftp_alloc, ftp_cdup, ftp_chdir, ftp_chmod, ftp_close, ftp_connect
    [u.v.a.]

    mir ist schleierhaft, was du denn noch mit FTP-Funktionen anstellen willst, wenn du schon "AJAX und PHP" nutzt. Mit einem AJAX-Request kannst du die Datei bereits auf deinen Server hochladen (alternativ auch mit einem einfachen Formular), und zwar mit HTTP, nicht FTP; und mit PHP nimmst du sie serverseitig entgegen und speicherst sie. Was soll da noch FTP?

    So long,
     Martin

    --
    F: Was macht ein Offizier, der in der Nase bohrt?
    A: Er holt das Letzte aus sich heraus.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo Martin,

      dann bestünde mein einziges Problem darin, wie ich mich auf dem Server anmelden, Inhalte ergänzen oder ändern zu können.

      Ich werde den Provider mal kontaktieren, die Zugangsdaten sind mir ja bekannt.

      Dann muss ich "lediglich" zusehen, wie ich das mit AJAX und PHP unter einen Hut bringe, oder sehe ich das falsch?

      Gruß,
      Enrico

      1. Hi,

        dann bestünde mein einziges Problem darin, wie ich mich auf dem Server anmelden, Inhalte ergänzen oder ändern zu können.

        von anmelden oder authentifizieren war bisher keine Rede, aber ja, irgendwas in der Art solltest du dann wohl haben. Entweder ein sessionbasiertes Login-System, oder im einfachsten Fall nur HTTP-AUTH. Wobei ich noch nie versucht habe, auf derart gesicherte Inhalte mit AJAX/XHR zuzugreifen. Sollte aber wohl möglich sein.

        Dann muss ich "lediglich" zusehen, wie ich das mit AJAX und PHP unter einen Hut bringe, oder sehe ich das falsch?

        Und das ist ja ein ziemlich alter Hut. Dafür findest du zahllose Anleitungen im Netz.

        Ciao,
         Martin

        --
        There are 10 types of people in the world: Those who understand the binary system, and those who don't.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Lieber Enrico,

    gerade wollte ich mich in die Thematik "File-uploads" mittels AJAX und PHP machen

    Du willst also Dateien auf Deinen Webspace hochladen können. Dazu willst Du PHP nutzen.

    Soweit so gut. Kennst Du schon Plupload? Am besten das UI Widget? Für den PHP-Teil gibt es auch schon Beispiel-Code, der sich anpassen lässt.

    Die ftp-basierten PHP-Funktionen benötigst Du für Dein Vorhaben ganz sicher nicht.

    Liebe Grüße,

    Felix Riesterer.

    --
    "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)