ftp_download(STRING* url, STRING* path, STRING* username, STRING* password)
Lädt eine Datei von einem ftp-Server herunter.
ftp_upload(STRING* url, STRING* path, STRING* username, STRING* password)
Lädt eine Datei auf einen ftp-Server hoch.
ftp_getdate(STRING* url, STRING* username, STRING* password)
Ermittelt den Zeitstempel sowie die Dateigröße einer auf einem ftp-Server gespeicherten Dateil.
ftp_stop()
Stoppt die momentan laufende ftp-Übertragung.
ftp_size()
Liefert die Gesamtgröße der gegenwärtigen/letzten Datei in Bytes zurück (long-Variable).
ftp_sent()
Liefert die Summe der gesendeten Daten der gegenwärtigen/letzten gesendeten Daten in Bytes zurück (long-Variable).
ftp_timestamp()
Liefert den Zeitstempel der gegenwärtigen/letzten Datei zurück, nachdem ftp_getdate() erfolgreich ausgeführt wurde (long-Variable).
ftp_status()
Liefert den Status einer gegenwärtig laufenden ftp-Übertragung zurück:
-1 wenn die letzte ftp-Übertragung aufgrund eines Fehlers angehalten wurde.
0 wenn die ftp-Übertragung noch läuft
1 wenn die letzte ftp-Übertragung erfolgreich war.
ftp_debug(var mode)
Schaltet das Logging von ftp-Übertragungen an und ab. Die Logdatei heißt "ftp_log.txt".
Parameter:
url - URL der Datei, die heruntergeladen werden soll oder Ziel-URL für ein Hochladen einer Datei (z. B.: "ftp://www.testhoster.com/downloads/test.txt"), STRING* oder char*
path - lokaler Pfad + Dateiname (z. B.: "testdir/test.txt"), STRING* oder char*
username - ftp-Username, STRING* oder char*
password - ftp_Passwort, STRING* oder char*
mode - 1 zum Anschalten, 0 zum Abschalten des ftp-Loggings
Bemerkungen:
- Die Funktionen ftp_download(), ftp_upload(), ftp_getdate() und ftp_debug() liefern, wenn ein Fehler vorkam -1 zurück, wenn alles gut gelaufen ist, 1.
- Nach dem Aufrufen von ftp_download(), ftp_upload() oder ftp_getdate() müssen Sie warten, bis der Wert von ftp_status() ungleich Null ist.
- Es kann nur eine ftp-Übertragung auf einmal laufen.
- Um die ftp-Funktionen verwenden zu können, muß das PlugIn acknet.dll geladen sein und die Datei acknet.h muß includet sein.
Version:
A7.84 P LC
Beispiel:
#include <acknex.h>
#include <default.c>
#include <acknet.h>
long fsize;
long fsent;
long ftimestamp;
void get_levelfile()
{
//Downloads the file "level1.wmb" and saves it as "map1.wmb" in the "maps" dir:
ftp_download("ftp://www.testhost.com/levels/level1.wmb","maps/map1.wmb","username","password");
while (!ftp_status()) //as long as the download is running
{ //get informations about the download:
fsize = ftp_size();
fsent = ftp_sent();
wait(1);
}
if (ftp_status() == 1)
printf("Download successful!");
else
printf("Error during download!");
}
var get_dateANDsize(long* filesize, long* timestamp)
{
ftp_getdate("ftp://www.testhost.com/file.txt","username","password");
while (!ftp_status()) wait(1);//as long as the download is running
if (ftp_status() == 1)
{ //if the transfer was successfull, get the size and timestamp
*filesize = ftp_size();
*timestamp = ftp_timestamp();
if (*filesize == -1 || *timestamp == -1)
return -1; //if the timestamp or the size wheren't sent by the server
else
return 1;
}
else return -1;
}
Siehe auch:
http
► latest version online