私は複数のサブフォルダを持っているのでstore_filesというフォルダを持っています。これで、すべてのフォルダとすべてのファイルを取得できます。今、私はすべてのフォルダを取得し、zipファイル以外は取得しません。私はファイルの拡張子がzipに等しいが、動作していないようだと条件を追加しようとします。 $ ext == 'zip'を出力に何も表示しないでください。画像で例えばありますように、特定のファイルを取得するための別の方法はありますglob($getDirectory. '*.zip')
PHP:scandirを使用して複数のサブディレクトリからすべてのzipファイルを取得
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
$ext = pathinfo($ff, PATHINFO_EXTENSION);
if($ff != '.' && $ff != '..' && $ext == 'zip'){
echo '<li>';
$str = preg_replace('/\D/', '', $ff);
$str = substr($str, 0,-1);
$getYear = substr($str, 0,4);
$getMonth = substr($str, -4,2);
$getDay = substr($str, -2,2);
$theDate = $getYear.'-'.$getMonth.'-'.$getDay;
$theRealDate = date('Y M j', strtotime($theDate));
echo $theRealDate;
if(is_dir($dir.'/'.$ff)){
listFolderFiles($dir.'/'.$ff);
}
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles('store_files');
なぜ 'glob()'を使わないのですか? – arkascha
'glob()'は再帰的に動作しません。しかし、あなたは非常に簡単にそれの周りにラッパーを構築することができます。その答えを見てみましょう:http://stackoverflow.com/questions/17160696/php-glob-scan-in-subfolders-for-a-file – arkascha
@arkaschaまたは単にsplイテレータを使用して – hassan