Sample code for 30+ languages & platforms
PHP

FTP Iterate over Files in Directory Matching ListPattern

See more RSA Examples

Uses the ListPattern property to iterate over the files in a directory matching the pattern.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Ftp2;
use Chilkat2\StringBuilder;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$ftp = new Ftp2();

$ftp->Hostname = 'ftp.example.com';
$ftp->Username = 'my_login';
$ftp->Password = 'my_password';
$ftp->Port = 21;
$ftp->AuthTls = true;

try {
    $ftp->Connect();

    // Change to the "images" sub-directory located under our FTP account's home directory.
    $ftp->ChangeRemoteDir('images');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

$ftp->ListPattern = '*.png';

// Fetch the current remote directory contents by calling GetDirCount
$n = $ftp->GetDirCount();
if ($n < 0) {
    echo $ftp->LastErrorText, "\n";
    exit;
}

$i = 0;
$filename = '';
$sbLocalPath = new StringBuilder();

while ($i < $n) {
    $filename = $ftp->GetFilename($i);
    echo $filename, "\n";

    // Download this file.
    $sbLocalPath->SetString('qa_output/');
    $sbLocalPath->Append($filename);
    try {
        $ftp->GetFile($filename, $sbLocalPath->GetAsString());
    } catch (\Chilkat2\Exception $e) {
        echo $e->getMessage(), "\n";
        exit;
    }

    $i = $i + 1;
}