Update examples

This commit is contained in:
Marcus Boerger 2004-01-25 13:03:24 +00:00
parent eb7aca4ea8
commit bec76cab71
3 changed files with 65 additions and 14 deletions

25
ext/spl/examples/findfile.inc Executable file
View File

@ -0,0 +1,25 @@
<?php
/**
* @brief Base class to find files
* @author Marcus Boerger
* @version 1.0
*
*/
class FindFile extends FilterIterator
{
protected $file;
function __construct($path, $file)
{
$this->file = $file;
parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
}
function accept()
{
return !strcmp($this->current(), $this->file);
}
}
?>

View File

@ -24,18 +24,5 @@ EOF;
exit(1);
}
class FindFile extends FilterIterator
{
protected $file;
function __construct($path, $file) {
$this->file = $file;
parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
}
function accept() {
return !strcmp($this->current(), $this->file);
}
}
foreach(new FindFile($argv[1], $argv[2]) as $pathname => $file) echo $file->getPathname()."\n";
foreach(new FindFile($argv[1], $argv[2]) as $file) echo $file->getPathname()."\n";
?>

39
ext/spl/examples/findregex.php Executable file
View File

@ -0,0 +1,39 @@
<?php
/** Find a specific file by name.
*
* Usage: php findregex.php <path> <name>
*
* <path> Path to search in.
* <name> Filename to look for.
*
* (c) Marcus Boerger, Adam Trachtenberg, 2004
*/
if ($argc < 3) {
echo <<<EOF
Usage: php findregex.php <file> <name>
Find a specific file by name.
<path> Path to search in.
<name> Regex for filenames to look for.
EOF;
exit(1);
}
class RegexFindFile extends FindFile
{
function accept()
{
return preg_match($this->file, $this->current());
}
}
foreach(new RegexFindFile($argv[1], $argv[2]) as $file) {
echo $file->getPathname()."\n";
}
?>