Copy the code The code is as follows:
function Files($path)
{
foreach(scandir($path) as $line)
{
if($line=='.'||$line= ='..') continue;
if(is_dir($path.'/'.$line)) Files($path.'/'.$line);
else echo '
'.$path. '/'.$line.'';
}
}
PHP traverses files and folders
Add to the given folder C:\Windows\AppPatch
1. First get the content under this folder Everything, that is, files and folders, are placed in an array
$fileArr = array(
'files' => array(), //Files are placed in an array
'dirs' => array(), // Put an array in the folder
)
2. If there are subfolders, traverse the subfolders, get the folders and files, and put them into the array, and so on, without missing any
Copy the code The code is as follows:
$dir = 'F:\game';
function read_dir_all($dir) {
$ret = array('dirs'=>array(), 'files'=>array( ));
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != = '..') {
$cur_path = $dir . DIRECTORY_SEPARATOR . $file;
if(is_dir($cur_path)) {
$ret['dirs'][$cur_path] = read_dir_all($cur_path);
} else {
$ret['files'][] = $cur_path;
}
}
}
closedir($handle);
}
return $ret;
}
$p = read_dir_all($dir);
echo '
'; <br>var_dump($p); <br>echo '
';
?>
php traverses all directories and files in a folder
We often encounter this during interviews This question: PHP traverses all files and subfolders in a folder.
There are many solutions to this problem. But the general idea is the same. Use recursion.
Copy the code The code is as follows:
$path = './filepath';
function getfiles($path)
{
if(!is_dir($path)) return;
$handle = opendir( $path);
while( false !== ($file = readdir($handle)))
{
if($file != '.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo ' ';
echo $file;
getfiles($path2);
}else
{
echo ' ';
echo $file;
}
}
}
}
print_r( getfiles($path));
echo '
';
function getdir($path)
{
if(!is_dir($path)) return ;
$handle = dir($path);
while($file=$handle->read())
{
if($file!='.' && $file!='..')
{
$path2 = $path.'/'.$file;
if(is_dir($path2))
{
echo $file."t";
getdir($path2);
}else
{
echo $file .' ';
}
}
}
}
getdir($path);
echo '
';
function get_dir_scandir($path){
$tree = array();
foreach(scandir($ path) as $single){
if($single!='.' && $single!='..')
{
$path2 = $path.'/'.$single;
if(is_dir($path2 ))
{
echo $single."rn";
get_dir_scandir($path2);
}else
{
echo $single."rn";
}
}
}
}
get_dir_scandir($path);
echo '
';
function get_dir_glob(){
$tree = array();
foreach(glob('./curl/*') as $single){
echo $single."rn";
}
}
get_dir_glob();
echo '
';
function myscandir($path)
{
if(!is_dir($path)) return;
foreach(scandir($path) as $ file)
{
if($file!='.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo $file;
myscandir($path2);
}else
{
echo $file.' ';
}
}
}
}
myscandir($path);
echo '
';
function myglob($path)
{
$path_pattern = $path.'/*';
foreach(glob($path_pattern) as $file)
{
if(is_dir($file))
{
echo $file ;
myscandir($file);
}else
{
echo $file.' ';
}
}
}
myglob($path);
The above introduces what file pagefile.sys is and the PHP file traversal implementation code, including what file pagefile.sys is. I hope it will be helpful to friends who are interested in PHP tutorials.