Location: PHPKode > scripts > pfpFileTree > example1.php
<?php

/**
 * this example would list all the image files
 * found in /home/user/public_html
 * which do not also exist in /var/www/html
 * and copy over the missing files
 */

// ----------- initialise ------------
require_once('pfpFileTree.inc.php');

$src='/home/user/public_html';
$dest='/var/www/html'; // NB class wil sort out trailing dir seperators

$t=new pfpFileTree($src);

$t->ignoreNoDescend=true; // ignore some errors 
$t->caseSensitive=false; // used for globbing only

// --------- grab images -----------
$t->readTree(array('name'=>'*.jpg'));
$t->readTree(array('name'=>'*.png'));
$t->readTree(array('name'=>'*.gif'));
// note it would have been much more efficient to...
// $t->readTree(array('name'=>'{*jpg,*.png,*.gif}');

// $t->data is now populated with a list of all image files

$t->ls();

// --------- compare with dest ---------
$t->compareTree($dest);
$files=$t->filter(array('cmp'=>2)); // just find the missing files

if ($t->writeTo($dest)===false) {
	print "Copy would have failed for: ";
	$nocopy=$t->subset(array('can_w'=>false));
	$nocopy->ls();
} else {
	print "files copied";
}
Return current item: pfpFileTree