コードをコピー コードは次のとおりです。
function dir_path($path) {
$ path = str_replace ('\', '/', $path);
if (substr($path, -1) != '/') $path = '/' >return $パス;
}
/**
* ディレクトリ内のすべてのファイルをリストします
*
* @param str $path directory
* @param str $exts suffix
* @param array $list path array
* @戻り配列 戻りパス配列
*/
関数 dir_list($path, $exts = '', $list = array()) {
$path = dir_path($path );
$files = glob($path . '*');
foreach($files as $v) {
if (!$exts || preg_match("/.($exts)/ i", $v)) {
$list[] = $v;
if (is_dir($v)) {
$list = dir_list($v, $exts, $list);
}
}
}
return $list;
}
?>
コードをコピー コードは次のとおりです。
$r = dir_list('dir')
printf("
;出力データは次のとおりです:
%sn", var_export($r , true));
コードをコピー コードは次のとおりです:
/* Function listDirTree( $dirName = null )
** 関数 ディレクトリ内のすべてのファイルとサブディレクトリをリストします
** パラメータ $dirName ディレクトリ名
** ディレクトリ構造配列を返します false は失敗を意味します
*/
function listDirTree( $ dirName = null )
{
if( empty( $dirName ) )
exit( "IBFileSystem: ディレクトリが空です。" );
if( is_dir( $dirName ) )
{
if( $dh = opendir( $dirName ) )
{
$tree = array();
while( ( $file = readdir( $dh ) ) !== false )
{
if( $file != "." && $file != ".." )
{
$filePath = "/" . $file( $filePath ) ) //ディレクトリの場合、再帰的に
{
$tree[$file] = listDirTree( $filePath );
}
else //ファイルの場合、現在の配列に追加します
{
$tree[] = $file;
}
}
}
closedir( $dh )
}
else
{
終了( "IBFileSystem : ディレクトリ $dirName を開けません。"); exit( " IBFileSystem: $dirName はディレクトリではありません。");
}
}
$files = listDirTree(".")
//print_r($files); $size = count(files);
//次のコードは、このディレクトリにファイルのリストを作成します (リンク アドレス付き)。
echo '