Heim  >  Artikel  >  Backend-Entwicklung  >  php遍历文件夹及其下所有文件的代码

php遍历文件夹及其下所有文件的代码

WBOY
WBOYOriginal
2016-07-25 09:00:27766Durchsuche
php实现遍历当前文件夹以及其下所有文件与文件夹的代码,主要是用到了递归,有需要的朋友,可以参考学习下。

代码如下:

<?php
 /**
  * 遍历文件夹下所有文件
  * site bbs.it-home.org
 */
 $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 ' <HR>';  
 
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 '  <HR>';  
 
 function get_dir_scandir($path){  
 
    $tree = array();  
    foreach(scandir($path) as $single){  
        if($single!='.' && $single!='..')  
        {  
            $path2 = $path.'/'.$single;  
            if(is_dir($path2))  
            {  
                echo  $single."  \r\n";  
                 get_dir_scandir($path2);  
            }else 
            {  
                echo $single."  \r\n";  
            }  
        }  
    }  
}  
get_dir_scandir($path);  
 
  echo '  <HR>';  
 
function get_dir_glob(){  
    $tree = array();  
    foreach(glob('./curl/*') as $single){  
        echo $single."  \r\n";  
    }  
}  
get_dir_glob();  
 
   echo '  <HR>';  
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 '  <HR>';  
 
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);
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn