Traverse the directory and store the results in an array. Supports php4 and above. After php5, the scandir() function can be used to replace the while loop.
Copy code The code is as follows:
/**
* @param string $dir
* @return array
*/
function my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($ handle)) !== false )
{
if ( $file != ".." && $file != "." )
{
if ( is_dir($dir . "/ " . $file) )
{
$files[$file] = my_scandir($dir . "/" . $file);
}
else
{
$files [] = $file;
}
}
}
closedir($handle);
return $files;
}
}
function my_scandir1($dir)
{
$files = array();
$dir_list = scandir($dir);
foreach($dir_list as $file)
{
if ( $file != ".." && $file != "." )
{
if ( is_dir($dir . "/" . $file) )
{
$files[$file] = my_scandir1($dir . "/" . $file);
}
else
{
$files[] = $file;
}
}
}
return $files;
}
$result = my_scandir('./');
$result = my_scandir1('./');
?>
Another implementation method
Copy code The code is as follows:
function fetchDir($dir) {
foreach (glob($dir.'*') as $file) {
echo $file,"n"; }
You can also replace '*' with DIRECTORY_SEPARATOR.'*' and 'n' with PHP_EOL, so that it can be cross-platform.
http://www.bkjia.com/PHPjc/743926.html
www.bkjia.com
true
http: //www.bkjia.com/PHPjc/743926.html
TechArticleTraverse the directory and store the results in an array. Supports php4 and above. After php5, the scandir() function can be used to replace the while loop. Copy the code The code is as follows: ?php /** * @param string $dir * @return arr...