次の問題で立ち往生しています。次の再帰的な読み取りディレクトリ php 関数があります。
<?php
//a simple file tree traversal - takes in a path and returns a nested array
$delim = strstr(PHP_OS, "WIN") ? "\\" : "/";
function retrieveTree($path) {
global $delim;
if ($dir=@opendir($path)) {
while (($element=readdir($dir))!== false) {
if (is_dir($path.$delim.$element) && $element!= "." && $element!= "..") {
$array[$element] = retrieveTree($path.$delim.$element);
} elseif ($element!= "." && $element!= "..") {
$array[] = $element;
}
}
closedir($dir);
}
return (isset($array) ? $array : false);
}
?>
この関数はhttp://devzone.zend.com/283/recursion-in-php-tapping-unharnessed-power/から取得され ます。ディレクトリとそのサブディレクトリを読み取ります。次に例を示します。
foo/baz
foo/baz/bop
foo/baz/bop/file4.txt
foo/baz/file2.txt
etc/
そして、ディレクトリとファイル形式の配列を作成します。
うまく機能しますが、ディレクトリ ツリーを作成するのが好きです。次のように、この関数を変更してリストのような構造を作成するにはどうすればよいですか。
<ul>
<li>foo
<ul>
<li>baz
...
</ul>
</li>
...
<li>etc
...
</ul>
私は多くのことを試しましたが、成功しませんでした。