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
(Perl) Get FTP File PermissionsPerl example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $ftp = chilkat::CkFtp2->new(); # Set the various properties to establish the connection. $ftp->put_Hostname("ftp.example.com"); $ftp->put_Username("login"); $ftp->put_Password("password"); # If SSL/TLS is required.. # See http://www.cknotes.com/determining-ftp2-connection-settings/ # for more information. $ftp->put_AuthTls(1); $ftp->put_PassiveUseHostAddr(1); # Connect to the FTP server: $success = $ftp->ConnectOnly(); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } # Authenticate with the FTP server. $success = $ftp->LoginAfterConnectOnly(); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } # To get file permissions in UNIX format, disallow MSLD: $ftp->put_AllowMlsd(0); # To get file and sub-directory information, simply # loop from 0 to ftp.GetDirCount() - 1 $i = 0; $n = $ftp->GetDirCount(); if ($n < 0) { print $ftp->lastErrorText() . "\r\n"; exit; } # 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) { print "The permissions format is: " . $ftp->getPermType(0) . "\r\n"; } while ($i < $n) { # Display the permissions and filename print $ftp->getPermissions($i) . " " . $ftp->getFilename($i) . "\r\n"; $i = $i + 1; } # Assuming MLSD was possible, let's see the file permissions in MLSD format: $ftp->put_AllowMlsd(1); # Clear the directory cache so we're forced to re-fetch the directory listing: $ftp->ClearDirCache(); $n = $ftp->GetDirCount(); if ($n < 0) { print $ftp->lastErrorText() . "\r\n"; exit; } # 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) { print "----" . "\r\n"; print "The permissions format is: " . $ftp->getPermType(0) . "\r\n"; } $i = 0; while ($i < $n) { # Display the permissions and filename print $ftp->getPermissions($i) . " " . $ftp->getFilename($i) . "\r\n"; $i = $i + 1; } $success = $ftp->Disconnect(); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.