Probleme mit PHP und FTP
cyberscout
- php
0 wahsaga0 cyberscout0 wahsaga
Hallo
Mit folgenden Zeilen versuche ich ein File per FTP auf den Server hochzuladen:
...
ftp_put($ftp, $remote_file, "/", TP_ASCII);
...
Wobei dei FTP-Verbindung natürlich bereits existiert. So funktioniert auch alles, die Datei wird in / des Servers kopiert.
Ein Ordner auf dem Server heisst public_html. Wenn ich nun die Zeile so anpasse:
ftp_put($ftp, $remote_file, "/public_html/", TP_ASCII);
Dann geschieht nichts. Ich habs auch ohne / am Schluss versucht, aber ohne Ergebnis. Mache ich da ein Überlegungsfehler, oder wieso funktioniert das nicht? Der Name des Ordners ist 100% korrekt.
Kann mir jemand helfen?
Gruss
cyberscout
hi,
Ein Ordner auf dem Server heisst public_html. Wenn ich nun die Zeile so anpasse:
ftp_put($ftp, $remote_file, "/public_html/", TP_ASCII);
Dann geschieht nichts. Ich habs auch ohne / am Schluss versucht, aber ohne Ergebnis. Mache ich da ein Überlegungsfehler, oder wieso funktioniert das nicht?
das manual nennt den dritten parameter der funktion local_file - nicht local_path.
deshalb vermute ich, dass dort wirklich nur ein datenname erwartet wird (dadurch "funktioniert es" mit "/" vermutlich eher zufällig.)
wenn das stimmt, müsstest du also vorher erst mit http://www.php.net/manual/de/function.ftp-chdir.php in das entsprechende verzeichnis wechseln, und dann bei ftp_put _nur_ den dateinamen angeben.
gruß,
wahsaga
Cool, genau so hat es funktioniert! Vielen Dank!
Nun habe ich gerade das nächste Problem entdeckt: Das File wird zwar erstellt, aber wenn ich es anzeigen möchte erscheint eine Fehlmeldung, es enthalte Fehler. An was kann das liegen?
Gruss
cyberscout
hi,
Nun habe ich gerade das nächste Problem entdeckt: Das File wird zwar erstellt, aber wenn ich es anzeigen möchte erscheint eine Fehlmeldung, es enthalte Fehler. An was kann das liegen?
evtl. falscher übertragungsmodus? ASCII genommen statt BINÄR?
beachte auch die userkommentare im manual, dass man die konstante für diesen parameter nicht in anführungszeichen setzen sollte, weil er sonst ggf. trotzdem ASCII nimmt ...
gruß,
wahsaga