ホームページ >バックエンド開発 >PHPチュートリアル >ディレクトリ (サブディレクトリを含む) 上のすべてのファイルを表示するにはどうすればよいですか?神に助けを乞う
ディレクトリ(サブディレクトリを含む)内のすべてのファイルを表示するにはどうすればよいですか?ひざまずいて神に助けを求めてください。
既存のコードは次のとおりです:
<?php<br /> $handle=opendir("./");<br /> while(false!==($file=readdir($handle))){<br /> if ($file != "." && $file != ".."){<br /> echo "$file<br>";<br /> }<br /> }<br /> closedir($handle);<br /> <br /> ?>
<br /> public function listDir($path, $size=false, $toCsv=false)<br /> {<br /> if (false !== $toCsv) $newCsv = new SplFileObject($toCsv, 'wb');<br /> <br /> $items = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));<br /> $arr = array();<br /> while (list($itemName, $item) = each($items))<br /> //foreach($dir as $itemName => $item)<br /> {<br /> $fileInfo = array();<br /> $fileInfo['fullpath'] = (string)$itemName;<br /> if ($size) $fileInfo['size'] = (string)$item->getSize();<br /> <br /> if (false !== $toCsv) $newCsv->fputcsv($fileInfo);<br /> $arr[] = $fileInfo;<br /> }<br /> return $arr;<br /> }<br />Windows Unicodeファイル名を取得できるクラスメソッドは他にもありますが、かなり面倒なので載せません
{ <br> echo "a4b561c25d9afb9ac8dc4d70affff419{$dir}0d36329ec37a2cc24d42c7229b69747a076402276aae5dbec7f672f8f4e5cc81";<br> $dir = realpath($dir) .'/*';<br> foreach(glob($dir, GLOB_MARK) as $f){<br> If(substr($f, -5) === '.html' ){<br> $f = "b108d9de4e4bdba78396eea2d6c362ae{$f}54bdf357c58b8a65c66d7c19c8e4d114";<br> }<br> echo $f ."076402276aae5dbec7f672f8f4e5cc81".PHP_EOL;<br> If(is_dir($f)){<br> 表示($f); <br><div class="clear"></div>