Perl
Perl
Get FTP Directory Listing Information
See more FTP Examples
_LANGUAGE_ example showing how to get information about files and subdirectories in the current remote FTP directory.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$ftp = chilkat::CkFtp2->new();
$ftp->put_Hostname("ftp.example.com");
$ftp->put_Username("login");
$ftp->put_Password("password");
# Connect and login to the FTP server.
$success = $ftp->Connect();
if ($success != 1) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# The ListPattern property is our directory listing filter.
# The default value is "*", which includes everything.
print $ftp->listPattern() . "\r\n";
# To get file and sub-directory information, simply
# loop from 0 to ftp.GetDirCount() - 1
$n = $ftp->GetDirCount();
if ($n < 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
if ($n > 0) {
for ($i = 0; $i <= $n - 1; $i++) {
# Display the filename
print $ftp->getFilename($i) . "\r\n";
# Display the file size (in bytes)
print $ftp->GetSize($i) . "\r\n";
# Is this a sub-directory?
if ($ftp->GetIsDirectory($i) == 1) {
print ".. this is a sub-directory" . "\r\n";
}
print "--" . "\r\n";
}
}
print "-----------------------------------" . "\r\n";
# Only files and directories
# matching the ListPattern are returned.
$ftp->put_ListPattern("*.asp");
$n = $ftp->GetDirCount();
if ($n < 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
if ($n > 0) {
for ($i = 0; $i <= $n - 1; $i++) {
# Display the filename
print $ftp->getFilename($i) . "\r\n";
# Display the file size (in bytes)
print $ftp->GetSize($i) . "\r\n";
print "--" . "\r\n";
}
}
$success = $ftp->Disconnect();