2017-04-17 26 views
0

私のディレクトリ内のファイルの一覧を取得したい& PHP言語で配列内のサブディレクトリ。

私は、コードの2種類がいる:アレイで
このベローコード一覧すべてのファイル、しかし、フォルダやサブディレクトリは、アレイ内あります:

の1-最初のコードを
ディレクトリ内のMP3ファイルをディレクトリとサブディレクトリからPHPで

$files = dir_scan('pathAddress'); 
function dir_scan($folder) { 
$files = glob($folder); 
foreach ($files as $f) { 
    if (is_dir($f)) { 
     $files = array_merge($files, dir_scan($f .'/*')); // scan subfolder 
    } 
} 
return $files; 
} 
echo "<pre>"; 
print_r($files); 
echo "</pre>"; 

トップコードの結果:Click For View Image

2 - 第二コード:
このベローコードリストすべてのMP3ファイルBut In String Not Array! &配列に変換できません。トップのコード

$scan_it = new RecursiveDirectoryIterator("pathAddress"); 
foreach(new RecursiveIteratorIterator($scan_it) as $file) { 
if (strtolower(substr($file, -4)) == ".mp3") { 
echo "<pre>"; 
echo($file); 
echo "</pre>"; 
} 
} 

結果:Click For View Image

は最後に、私はすべてのディレクトリの場所を指定し&のサブディレクトリ内のMP3ファイルの配列をしたいです。

ご協力いただきありがとうござい

答えて

1

このコードこれは、すべてのフォルダをチェックし、見返りに、ファイル名を取得します、あなたを助けるかもしれない...

<?php 

function listFolderFiles($dir) 
{  
    $file_names = array(); 
    foreach (new DirectoryIterator($dir) as $fileInfo) { 
     if (!$fileInfo->isDot()) { 



      if ($fileInfo->isDir()) { 


       // checking directory empty or not, if not then append list  
       $isDirEmpty = !(new \FilesystemIterator($fileInfo->getPathname()))->valid(); 

       if($isDirEmpty != 1) 
       { 

        $file_names[] = listFolderFiles($fileInfo->getPathname()); 
       } 



      } 
      else 
      { 
       $file_names[] = $fileInfo->getPathname() ; 
      } 
     } 
    } 


    // Splicing Array 
     for ($i=0; $i<count($file_names); $i++) { 

      if (is_array($file_names[$i])) { 
        array_splice($file_names, $i, 1, $file_names[$i]); 
      } 
     } 


    return $file_names; 
} 


$res = listFolderFiles('main_folder_name'); 
echo '<pre>'; 
print_r($res); 


?> 
+0

あなたのコードの作品を​​ありがとう@ –

関連する問題