首頁 > 後端開發 > php教程 > php遍歷資料夾及其下所有檔案的程式碼

php遍歷資料夾及其下所有檔案的程式碼

WBOY
發布: 2016-07-25 09:00:27
原創
785 人瀏覽過
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);
?>
登入後複製


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板