Home > Article > Backend Development > Several methods of php folder traversal
<span style="font-size: 14px;">function dirTree(){<br> if(!is_dir($path)) return []; $files = []; $dir = opendir($path); while($file = readdir($dir)) { if($file == '.' || $file == '..') continue; $new_path = trim($path, '/').'/'.trim($file, '/'); $files[] = $new_path; if(is_dir($new_path)){ $files = array_merge($files, $this->ergodicDir2($new_path));<br> }<br> }<br> closedir($dir); return $files;<br>}<br></span>
<span style="font-size: 14px;">function dirTree(){<br> if(!is_dir($path)) return []; $files = []; $dir_h = dir($path); while($file = $dir_h->read()){ if($file == '.' || $file == '..') continue; $new_path = trim($path, '/').'/'.trim($file, '/'); $files[] = $new_path; if(is_dir($new_path)){ $files = array_merge($files, $this->ergodicDir3($new_path));<br> }<br> } $dir_h->close(); return $files;<br>}<br></span>
<span style="font-size: 14px;">function dirTree(){<br> if(!is_dir($path)) return []; $files = []; $dir = new \DirectoryIterator($path); foreach ($dir as $key => $file){ if($file->getFilename() == '.' || $file->getFilename() == '..'){ continue;<br> } $files[] = $file->getPathname(); if($file->isDir()){ $files = array_merge($files, $this->ergodicDir5($file->getPathname()));<br> }<br> } return $files;<br>}<br></span>
Related recommendations:
PHP folder traversal, image compression at equal proportions
The above is the detailed content of Several methods of php folder traversal. For more information, please follow other related articles on the PHP Chinese website!