Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
FTP XML Directory Listing / Download Most Recently Modified FilesDemonstrates 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.
<?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.