Home >Backend Development >PHP Tutorial >Example of php traversing all files and subfolders under a folder_PHP tutorial

Example of php traversing all files and subfolders under a folder_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:35:311053browse

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

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 the code The code is as follows: ?php /** * @param string $dir * @return arr...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn