FTP-Download
steffi
- php
0 Christoph Schnauß0 steffi0 Christoph Schnauß
0 XaraX
hi,
hab ne datei, die von nem ftp server auf meinen server kopiert werden sollte.
das versuchte ich bereits mit copy und auch manuell mit fopen, fgets + fputs. doch leider kommt in beiden fällen:
connect() failed: Connection refused in ...
failed to open stream: FTP server reports RETR in ...
was ist RETR für ne fehlerquelle und wie bekomm ich die datei trotzdem geladen?
Danke!
hallo steffi,
das versuchte ich bereits mit copy und auch manuell mit fopen, fgets + fputs.
Du möchtest dich bitte mit den FTP-Funktionen beschäftigen.
Grüße aus Berlin
Christoph S.
hallo!
hat php denn nicht eine nette funktion, die die ftp befehle selbstständig anwendet bei einem input a la "ftp://user:pw@server/dir/file" ?
oder muss das alles erst gesplittet und verarbeitet werden?
danke für hinweise
hallo steffi,
hat php denn nicht eine nette funktion, die die ftp befehle selbstständig anwendet bei einem input a la "ftp://user:pw@server/dir/file" ?
Du hast noch nicht dort nachgelesen, wohin mein Verweis zu den FTP-Funktionen dich hätte führen sollen.
oder muss das alles erst gesplittet und verarbeitet werden?
Nein. Es müssen lediglich die richtigen PHP-Funktionen angewendet werden. fopen, fgets und fputs gelten für HTTP, aber nicht für FTP. Beschäftige dich bitte mit den Unterschieden der Protokolle.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Es müssen lediglich die richtigen PHP-Funktionen angewendet werden. fopen, fgets und fputs gelten für HTTP, aber nicht für FTP.
Das stimmt nicht!
Gruß aus Berlin!
eddi
Hello,
Es müssen lediglich die richtigen PHP-Funktionen angewendet werden. fopen, fgets und fputs gelten für HTTP, aber nicht für FTP.
Das stimmt nicht!
Was wir neulich erst in einem etwas längeren Thread zusammen mit Sven R. erarbeitet haben :-)
Die Filefunktionen _können_ auch als Wrapper benutzt werden, je nachdem, welche PHP-Version im Einsatz ist und welche Einstellung besteht.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hallo Tom,
Was wir neulich erst in einem etwas längeren Thread zusammen mit Sven R. erarbeitet haben :-)
Könntest du den verlinken? Ich war zwischendurch etwa zehn Tage nicht online, vielleicht habt ihr das in diesem Zeitraum erarbeitet und ich habs nicht mitgekriegt ...
Die Filefunktionen _können_ auch als Wrapper benutzt werden, je nachdem, welche PHP-Version im Einsatz ist und welche Einstellung besteht.
Das ist schon längere Zeit so (ich weiß auch nicht mehr, ab welcher PHP-Version), galt aber immer als irgendwie unzuverlässig. Außerdem: warum wohl gibt es z.B. ftp_get, wenn nicht eine wie auch immer geartete "Abgrenzung" der Protokolle beabsichtigt wäre?
Grüße aus Berlin
Christoph S.
Hallo,
Was wir neulich erst in einem etwas längeren Thread zusammen mit Sven R. erarbeitet haben :-)
Könntest du den verlinken?
http://forum.de.selfhtml.org/archiv/2006/2/t123345/
Die Filefunktionen _können_ auch als Wrapper benutzt werden, je nachdem, welche PHP-Version im Einsatz ist und welche Einstellung besteht.
Das ist schon längere Zeit so (ich weiß auch nicht mehr, ab welcher PHP-Version), galt aber immer als irgendwie unzuverlässig. Außerdem: warum wohl gibt es z.B. ftp_get, wenn nicht eine wie auch immer geartete "Abgrenzung" der Protokolle beabsichtigt wäre?
Für das einfache Hoch- und Runterladen sind diese Funktionen durch bestimmte Funktionen des Dateisystems ersetzbar. FTP-Funktionen decken darüberhinaus auch weitere Funktionen des Protokolls ab, die ein Wrapper schlichtweg nicht leisten kann (z. B. die Wiederaufnahme von Dateitransfers).
Aber ich sehe eher den Entgegengesetzen Weg in der Entwicklung PHPs - so durch die Einführung der Stream-Funktionen in 4.3. Wer weiß - vielleicht besinnt man sich zukünftig PHP abzuspecken und die Programmierung nicht durch simples Pauken des sich stätig erweiternden Funktionlagers zu "copy and paste programming" verkommen zu lassen.
Gruß aus Berlin!
eddi
Moin!
Was wir neulich erst in einem etwas längeren Thread zusammen mit Sven R. erarbeitet haben :-)
Könntest du den verlinken? Ich war zwischendurch etwa zehn Tage nicht online, vielleicht habt ihr das in diesem Zeitraum erarbeitet und ich habs nicht mitgekriegt ...
War sehr undramatisch. Grundsätzlicher Punkt: file_exists() erlaubt nicht nur die Spezifikation von lokalen Dateien, sondern ab PHP 5.0 auch die mit allow_url_fopen erreichbaren Protokolle, die über stat-Funktionalität verfügen. Konkret ist das bis dato nur das FTP-Protokoll.
Die Filefunktionen _können_ auch als Wrapper benutzt werden, je nachdem, welche PHP-Version im Einsatz ist und welche Einstellung besteht.
Das ist schon längere Zeit so (ich weiß auch nicht mehr, ab welcher PHP-Version)
PHP 3.
galt aber immer als irgendwie unzuverlässig.
Davon ist mir nichts bekannt.
Außerdem: warum wohl gibt es z.B. ftp_get, wenn nicht eine wie auch immer geartete "Abgrenzung" der Protokolle beabsichtigt wäre?
Fakt ist, dass die URL-Wrapper für HTTP und FTP existieren und von diversen klassischen Datei-Funktionen wie fopen, include, require etc. genutzt werden.
Wer es gerne etwas individueller hätte, kann sich alternativ einen eigenen FTP-Client programmieren. Nur weil es spezielle FTP-Funktionen gibt, heißt das aber nicht, dass die anderen Methoden böse, unzuverlässig oder gar verboten wären.
- Sven Rautenberg
Hallo,
hab ne datei, die von nem ftp server auf meinen server kopiert werden sollte.
das versuchte ich bereits mit copy und auch manuell mit fopen, fgets + fputs. doch leider kommt in beiden fällen:
connect() failed: Connection refused in ...
failed to open stream: FTP server reports RETR in ...
mutmaßlich liegt hier ein Fehler im FTP-Wrapper vor, oder er ist schlichtweg nicht vorhanden. Bitte poste Dein Script, sowie die PHP-Version und sieh in der Ausgabe von phpinfo(1);
nach, ob unter "Registered PHP Streams" auch "ftp" angegeben ist.
was ist RETR für ne fehlerquelle und wie bekomm ich die datei trotzdem geladen?
RETRIEVE (RETR)
This command causes the server-DTP to transfer a copy of the
file, specified in the pathname, to the server- or user-DTP
at the other end of the data connection. The status and
contents of the file at the server site shall be unaffected.
Gruß aus Berlin!
eddi