C
C
FTP Set Remote File Date/Time Equal to Local File's Last-Modified Date/Time
See more FTP Examples
Demonstrates how to set a remote file's date/time to be equal to a local file's date/time.Important: Not all FTP servers support the ability to set a file's date/time.
Chilkat C Downloads
#include <C_CkFtp2.h>
#include <C_CkFileAccess.h>
#include <C_CkDateTime.h>
void ChilkatSample(void)
{
BOOL success;
HCkFtp2 ftp;
HCkFileAccess fac;
HCkDateTime dt;
const char *lastModTimestamp;
success = FALSE;
// This example assumes Chilkat Ftp2 to have been previously unlocked.
// See Unlock Ftp2 for sample code.
ftp = CkFtp2_Create();
CkFtp2_putHostname(ftp,"www.authtls-ftps-server.com");
CkFtp2_putUsername(ftp,"FTP_LOGIN");
CkFtp2_putPassword(ftp,"FTP_PASSWORD");
CkFtp2_putAuthTls(ftp,TRUE);
CkFtp2_putPort(ftp,21);
// Connect to the FTP server using explicit TLS (AUTH TLS).
success = CkFtp2_ConnectOnly(ftp);
if (success == FALSE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
// Authenticate.
success = CkFtp2_LoginAfterConnectOnly(ftp);
if (success == FALSE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
// We're going to get the last-mod date/time for the local file
// "qa_data/hamlet.xml", and then set the remote "hamlet.xml" to this date/time.
fac = CkFileAccess_Create();
dt = CkDateTime_Create();
lastModTimestamp = CkFileAccess_getFileTimeStr(fac,"qa_data/hamlet.xml",0);
CkDateTime_SetFromTimestamp(dt,lastModTimestamp);
success = CkFtp2_SetRemoteFileDt(ftp,dt,"hamlet.xml");
if (success != TRUE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkDateTime_Dispose(dt);
CkFtp2_Dispose(ftp);
CkFileAccess_Dispose(fac);
CkDateTime_Dispose(dt);
return;
}
CkFtp2_Disconnect(ftp);
printf("Success.\n");
CkFtp2_Dispose(ftp);
CkFileAccess_Dispose(fac);
CkDateTime_Dispose(dt);
}