note 104824 modified in function.readdir by danbrown

From: Date: Sat, 09 Jul 2011 16:22:19 +0000
Subject: note 104824 modified in function.readdir by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-181377@lists.php.net to get a copy of this message
Get all files on recursive directories in single array. <?php /* * mrlemonade ~ */ function getFilesFromDir($dir) { $files = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if(is_dir($dir.'/'.$file)) { $dir2 = $dir.'/'.$file; $files[] = getFilesFromDir($dir2); } else { $files[] = $dir.'/'.$file; } } } closedir($handle); } return array_flat($files); } function array_flat($array) { foreach($array as $a) { if(is_array($a)) { $tmp = array_merge($tmp, array_flat($a)); } else { $tmp[] = $a; } } return $tmp; } // Usage $dir = '/data'; $foo = getFilesFromDir($dir); print_r($foo); ?> --was-- Get all files on recursive directories in single array. /* * mrlemonade ~ */ function getFilesFromDir($dir) { $files = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if(is_dir($dir.'/'.$file)) { $dir2 = $dir.'/'.$file; $files[] = getFilesFromDir($dir2); } else { $files[] = $dir.'/'.$file; } } } closedir($handle); } return array_flat($files); } function array_flat($array) { foreach($array as $a) { if(is_array($a)) { $tmp = array_merge($tmp, array_flat($a)); } else { $tmp[] = $a; } } return $tmp; } // Usage $dir = '/data'; $foo = getFilesFromDir($dir); print_r($foo); http://php.net/manual/en/function.readdir.php

« previous php.notes (#181377) next »