PHP ftp_get() Problem

Status
Für weitere Antworten geschlossen.

Wolfgang_K

Benutzer
Mitglied seit
04. Okt 2009
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo,

zur Zeit bastele ich an einer Art Datenlogger welcher mir im 2 Minuten Takt die Temperaturwerte meiner Heizung in eine CSV Datei schreibt damit sie später in einem Diagramm grafisch dargestellt werden können. Das ganze funktioniert folgendermaßen:
Ein kleiner "Webserver" (AVR-NET-IO von Pollin) ließt die Werte der Temperatursensoren aus und schreibt sie in eine CSV Datei auf der angeschlossenen SD Karte.
Leider reicht die Rechenleistung des Mikrocontrollers nicht aus um die Werte in ein Diagramm umzuwandeln deswegen werden sie dort nur lokal gespeichert.
Daher kam mir die Idee die Logdateien zyklisch von der Diskstation (DS109+) per Cronjob herunterladen zu lassen. Da der kleine Webserver seine Daten täglich in eine neue Logdatei schreibt wollte ich zum herunterladen der CSV Dateien ein PHP Script verwenden welches vom Cronjob aufgerufen wird (ist ja kein Problem, an dieser Stelle funktioniert mein Script auch schon).

Hier nun mein Problem:
Sobald ich das Script aufrufe (es liegt im /web Ordner) meldet mit die Diskstation im Browser:

Warning: ftp_get(): not implemented. in /volume1/web/copy_logfile.php on line 51

In den Einstellungen der Diskstation sind bei PHP alle Extensions an.
Ich hab PHP Scripts von anderen Diskstation gefunden die auch ftp_get verweden, was muss man einstellen damit dieser Befehl von der Diskstation ausgeführt wird??
Hat jemand von euch vielleicht einen schlauen Rat?

Gruß

Wolfgang
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
gib doch mal ein paar Zeilen mehr rein ... man kann z.B. nicht nachvollziehen, ob du auch einen ftp_connect vorher gemacht hattest (vielleicht vergessen oder als selbstverständlich vorausgesetzt ...)

Itari
 

Wolfgang_K

Benutzer
Mitglied seit
04. Okt 2009
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo Itari,

da es hier scheinbar keine Code-Tags gibt:
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// Anmeldung versuchen
if (ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Angemeldet als $ftp_user@$ftp_server\n";
//ftp_get($conn_id,$destination,$source_path, FTP_BINARY);
if (ftp_get($conn_id,$destination,$source_path, FTP_ASCII)) { <<< Dies ist die Zeile 51
echo "$local_file wurde erfolgreich geschrieben\n";
} else {
echo "\n Ein Fehler ist aufgetreten\n";
}
} else {
echo "Anmeldung als $ftp_user nicht möglich\n";
}

// Verbindung schließen
ftp_close($conn_id);

Die Erfolgsmeldung bei der Anmeldung wird ausgegeben.

Wolfgang
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
geht denn der ftp_get mit der Option FTP_BINARY ???

Itari
 

Wolfgang_K

Benutzer
Mitglied seit
04. Okt 2009
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Nein, das geht leider auch nicht (deswegen steht es ja auch schon auskommentiert darüber).
Meiner Meinung nach scheint die Diskstation den kompletten ftp_get Befehl nicht zu kennen.

Wolfgang
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Meiner Meinung nach scheint die Diskstation den kompletten ftp_get Befehl nicht zu kennen.

Warum sollte man den ftp_connect und den ftp_login dann noch drinne lassen, wenn man den ftp_get herausnehmen würde ... das macht keinen Sinn.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

Wolfgang_K

Benutzer
Mitglied seit
04. Okt 2009
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo,

das Problem hat sich mehr oder weniger gelöst.

Die Meldung bedeutet nicht das der Webserver den Befehl nicht kennt, sondern das der FTP Server mit dem FTP Befehl hinter dem ftp_get nicht klar kommt.

Jetzt muss wohl ein Workaround aus ftp_raw Befehlen weiterhelfen :-/.

Gruß

Wolfgang
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat