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) FTP Non-Recursive Sync Directory (Download)See more FTP ExamplesDownload files from the server that have filenames matchhing a pattern, and don't yet exist in a local 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(); $ftp->put_Hostname("ftp.example.com"); $ftp->put_Username("myUsername"); $ftp->put_Password("myPassword"); $ftp->put_Port(21); $ftp->put_AuthTls(1); # Connect and login to the FTP server. $success = $ftp->Connect(); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } # Change to the remote directory where the files are located. # This step is only necessary if the files are not in the root directory # of the FTP account. $success = $ftp->ChangeRemoteDir("qa"); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } # Indicate that we only want to download files with filenames ending in ".txt" $ftp->put_SyncMustMatch("*.txt"); # Modes for synchronization are as follows: # mode=0: Download all files # mode=1: Download all files that do not exist on the local filesystem. # mode=2: Download newer or non-existant files. # mode=3: Download only newer files. If a file does not already exist on the local filesystem, it is not downloaded from the server. # mode=5: Download only missing files or files with size differences. # mode=6: Same as mode 5, but also download newer files. # mode=99: Do not download files, but instead delete remote files that do not exist locally. $mode = 1; # Download all files matching "*.txt" from the current remote ftp directory. # The files are downloaded into c:/temp/qa_output $success = $ftp->SyncLocalDir("c:/temp/qa_output",$mode); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } # We can see what files were downloaded in the SyncedFiles property, # which lists the files one per line. print $ftp->syncedFiles() . "\r\n"; # Perhaps we wish to delete the files we just downloaded from the server.. $sb = chilkat::CkStringBuilder->new(); $sb->Append($ftp->syncedFiles()); $st = chilkat::CkStringTable->new(); $st->AppendFromSb($sb); $numFiles = $st->get_Count(); $i = 0; while ($i < $numFiles) { $remoteFilename = $st->stringAt($i); print "Deleting " . $remoteFilename . " from the FTP server" . "\r\n"; $success = $ftp->DeleteRemoteFile($remoteFilename); if ($success != 1) { print $ftp->lastErrorText() . "\r\n"; exit; } $i = $i + 1; } $success = $ftp->Disconnect(); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.