]> granicus.if.org Git - php/commitdiff
- Update examples
authorMarcus Boerger <helly@php.net>
Mon, 1 Nov 2004 22:31:11 +0000 (22:31 +0000)
committerMarcus Boerger <helly@php.net>
Mon, 1 Nov 2004 22:31:11 +0000 (22:31 +0000)
ext/spl/examples/directorygraphiterator.inc [new file with mode: 0644]
ext/spl/examples/tree.php

diff --git a/ext/spl/examples/directorygraphiterator.inc b/ext/spl/examples/directorygraphiterator.inc
new file mode 100644 (file)
index 0000000..6847de4
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+/** @file directorygraphiterator.inc
+ * @ingroup Examples
+ * @brief class DirectoryGraphIterator
+ * @author  Marcus Boerger
+ * @date    2003 - 2004
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief   A tree iterator that only shows directories.
+ * @author  Marcus Boerger
+ * @version 1.0
+ */
+class DirectoryGraphIterator extends DirectoryTreeIterator
+{
+       function __construct($path)
+       {
+               RecursiveIteratorIterator::__construct(new CachingRecursiveIterator(new ParentIterator(new RecursiveDirectoryIterator($path)), CIT_CALL_TOSTRING|CIT_CATCH_GET_CHILD), 1);
+       }
+}
+
+?>
\ No newline at end of file
index a9f6d8beaf74c57c0897a286604a5e1b9ae75ecc..d7a321dffcdf41410e017b857a85bef0dcaa5e6e 100755 (executable)
@@ -29,9 +29,10 @@ EOF;
 }
 
 if (!class_exists("DirectoryTreeIterator", false)) require_once("directorytreeiterator.inc");
+if (!class_exists("DirectoryGraphIterator", false)) require_once("directorygraphiterator.inc");
 
 echo $argv[1]."\n";
-foreach(new DirectoryTreeIterator($argv[1]) as $file)
+foreach(new DirectoryGraphIterator($argv[1]) as $file)
 {
        echo $file . "\n";
 }