Perl
Perl
Get an FTP Listing Entry's Permissions
See more FTP Examples
Demonstrates the Chilkat Ftp2.GetPermissions method, which returns the permissions or status string of a cached directory-listing entry. The only argument is a zero-based index. The value is empty when the server provides no such metadata.
Background: FTP has no single standard permissions format, so what this returns depends on the server — commonly a Unix-style mode string like
drwxr-xr-x, but potentially something else. Because the format varies, pair it with GetPermType to learn how to interpret the string before parsing it, rather than assuming a fixed layout.Chilkat Perl Downloads
use chilkat();
$success = 0;
# Demonstrates the Ftp2.GetPermissions method, which returns the permissions or status string of
# a cached directory-listing entry. The only argument is a zero-based index.
$ftp = chilkat::CkFtp2->new();
$ftp->put_Hostname("ftp.example.com");
$ftp->put_Username("myFtpLogin");
# Normally you would not hard-code the password in source. You should instead obtain it
# from an interactive prompt, environment variable, or a secrets vault.
$ftp->put_Password("myPassword");
$success = $ftp->Connect();
if ($success == 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
$success = $ftp->ChangeRemoteDir("public_html");
if ($success == 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# GetDirCount retrieves the directory listing on the first call and returns the number of
# entries. A negative return indicates failure.
$n = $ftp->GetDirCount();
if ($n < 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
for ($i = 0; $i <= $n - 1; $i++) {
$name = $ftp->getFilename($i);
# The permissions string is empty when the server provides no such metadata. Use
# GetPermType to learn how to interpret the string's format.
$perms = $ftp->getPermissions($i);
print $perms . " " . $name . "\r\n";
}
$success = $ftp->Disconnect();
if ($success == 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}