Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

FTP XML Directory Listing / Download Most Recently Modified Files

Demonstrates how to retrieve a directory listing in XML format, sort it by last-modified date, and download the 5 most recently modified files.

Note: This example relies upon a new feature added to the GetXmlDirListing method. Namely, the resultant XML includes a "full" attribute with a date/time that is in a sortable format. This feature is available in the pre-release, or in new versions released after 20-May-2008.

Download Chilkat XML ActiveX

Download 32-bit Chilkat FTP2 ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

<?php

$ftp = new COM("Chilkat.Ftp2");

//  Any string unlocks the component for the 1st 30-days.
$success = $ftp->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

$ftp->Hostname = 'ftp.chilkatsoft.com';
$ftp->Username = 'myLogin';
$ftp->Password = 'myPassword';

//  Connect and login to the FTP server.
$success = $ftp->Connect();
if ($success != true) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

//  Recursively download the listings for the complete
//  remote directory tree at the current remote dir.
//  In this case, we haven't called ChangeRemoteDir,
//  so the current remote dir is the root directory of the
//  FTP account.

$strXml = $ftp->getXmlDirListing('*.asp');
if (is_null($strXml)) {
    print $ftp->lastErrorText() . "\n";
    exit;
}

//  Load the XML directory listing into a Chilkat XML object:
$xml = new COM("Chilkat.Xml");
$xml->LoadXml($strXml);

//  Sort by a record attribute:

$ascending = false;
$xml->SortRecordsByAttribute('lastModTime','full',$ascending);

//  Download the 5 most recent files:

$n = $xml->NumChildren;
if ($n > 5) {
    $n = 5;
}

for ($i = 0; $i <= $n - 1; $i++) {

    $child = $xml->GetChild($i);
    $filename = $child->getChildContent('name');
    print $filename . "\n";

    $success = $ftp->GetFile($filename,$filename);
    if ($success != true) {
        print $ftp->lastErrorText() . "\n";
        break;
    }

}

//  The full sorted XML may be obtained like this:
$strXml = $xml->getXml();

$ftp->Disconnect();
?>

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.