Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) Get FTP File PermissionsUnicode C example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
#include <C_CkFtp2W.h> void ChilkatSample(void) { HCkFtp2W ftp; BOOL success; int i; int n; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp = CkFtp2W_Create(); // Set the various properties to establish the connection. CkFtp2W_putHostname(ftp,L"ftp.example.com"); CkFtp2W_putUsername(ftp,L"login"); CkFtp2W_putPassword(ftp,L"password"); // If SSL/TLS is required.. // See http://www.cknotes.com/determining-ftp2-connection-settings/ // for more information. CkFtp2W_putAuthTls(ftp,TRUE); CkFtp2W_putPassiveUseHostAddr(ftp,TRUE); // Connect to the FTP server: success = CkFtp2W_ConnectOnly(ftp); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Authenticate with the FTP server. success = CkFtp2W_LoginAfterConnectOnly(ftp); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // To get file permissions in UNIX format, disallow MSLD: CkFtp2W_putAllowMlsd(ftp,FALSE); // To get file and sub-directory information, simply // loop from 0 to ftp.GetDirCount() - 1 i = 0; n = CkFtp2W_GetDirCount(ftp); if (n < 0) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) { wprintf(L"The permissions format is: %s\n",CkFtp2W_getPermType(ftp,0)); } while (i < n) { // Display the permissions and filename wprintf(L"%s %s\n",CkFtp2W_getPermissions(ftp,i),CkFtp2W_getFilename(ftp,i)); i = i + 1; } // Assuming MLSD was possible, let's see the file permissions in MLSD format: CkFtp2W_putAllowMlsd(ftp,TRUE); // Clear the directory cache so we're forced to re-fetch the directory listing: CkFtp2W_ClearDirCache(ftp); n = CkFtp2W_GetDirCount(ftp); if (n < 0) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) { wprintf(L"----\n"); wprintf(L"The permissions format is: %s\n",CkFtp2W_getPermType(ftp,0)); } i = 0; while (i < n) { // Display the permissions and filename wprintf(L"%s %s\n",CkFtp2W_getPermissions(ftp,i),CkFtp2W_getFilename(ftp,i)); i = i + 1; } success = CkFtp2W_Disconnect(ftp); CkFtp2W_Dispose(ftp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.