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
(Objective-C) Get FTP File PermissionsObjective-C example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
#import <CkoFtp2.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoFtp2 *ftp = [[CkoFtp2 alloc] init]; // Set the various properties to establish the connection. ftp.Hostname = @"ftp.example.com"; ftp.Username = @"login"; ftp.Password = @"password"; // If SSL/TLS is required.. // See http://www.cknotes.com/determining-ftp2-connection-settings/ // for more information. ftp.AuthTls = YES; ftp.PassiveUseHostAddr = YES; // Connect to the FTP server: BOOL success = [ftp ConnectOnly]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } // Authenticate with the FTP server. success = [ftp LoginAfterConnectOnly]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } // To get file permissions in UNIX format, disallow MSLD: ftp.AllowMlsd = NO; // To get file and sub-directory information, simply // loop from 0 to ftp.GetDirCount() - 1 int i = 0; int n = [[ftp GetDirCount] intValue]; if (n < 0) { NSLog(@"%@",ftp.LastErrorText); 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) { NSLog(@"%@%@",@"The permissions format is: ",[ftp GetPermType: [NSNumber numberWithInt: 0]]); } while (i < n) { // Display the permissions and filename NSLog(@"%@%@%@",[ftp GetPermissions: [NSNumber numberWithInt: i]],@" ",[ftp GetFilename: [NSNumber numberWithInt: i]]); i = i + 1; } // Assuming MLSD was possible, let's see the file permissions in MLSD format: ftp.AllowMlsd = YES; // Clear the directory cache so we're forced to re-fetch the directory listing: [ftp ClearDirCache]; n = [[ftp GetDirCount] intValue]; if (n < 0) { NSLog(@"%@",ftp.LastErrorText); 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) { NSLog(@"%@",@"----"); NSLog(@"%@%@",@"The permissions format is: ",[ftp GetPermType: [NSNumber numberWithInt: 0]]); } i = 0; while (i < n) { // Display the permissions and filename NSLog(@"%@%@%@",[ftp GetPermissions: [NSNumber numberWithInt: i]],@" ",[ftp GetFilename: [NSNumber numberWithInt: i]]); i = i + 1; } success = [ftp Disconnect]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.