激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 使用PHP遍歷文件夾與子目錄的函數(shù)代碼

使用PHP遍歷文件夾與子目錄的函數(shù)代碼

2019-12-13 10:18php教程網(wǎng) PHP教程

最近對(duì)操作文件比較感興趣的說(shuō),所以咱們來(lái)把文件夾給遍歷了,順便生成個(gè)樹。

我們要使用的函數(shù)有 Scandir,它的作用是列出指定路徑中的文件和目錄,就像 Dir 一樣。

使用PHP遍歷文件夾與子目錄的函數(shù)代碼
> 與更強(qiáng)力的 Glob() 函數(shù),作用是以數(shù)組的形式返回與指定模式相匹配的文件名或目錄。 
> 友情提醒,千萬(wàn)別像小邪那樣在電腦前面呆太長(zhǎng)時(shí)間,否則就會(huì)像小邪一樣得見(jiàn)鬼的高血糖。 

一. 遍歷單層文件夾: 

> 在掃描單層文件夾的問(wèn)題是,兩個(gè)函數(shù)的結(jié)果雖有不同,不過(guò)表現(xiàn)是相差不大的。 
> Scandir 函數(shù)會(huì)提供額外兩行,分別是 “.” 和 “..” ,而 Glob 則是沒(méi)有的。 

復(fù)制代碼代碼如下:


function get_dir_scandir(){ 
$tree = array(); 
foreach(scandir('./') as $single){ 
echo $single."<br/>\r\n"; 


get_dir_scandir(); 

function get_dir_glob(){ 
$tree = array(); 
foreach(glob('./*') as $single){ 
echo $single."<br/>\r\n"; 


get_dir_glob(); 


二. 遞歸遍歷文件樹: 

> 在遞歸掃描文件夾樹的問(wèn)題上,還是 Glob 函數(shù)的表現(xiàn)好一點(diǎn),很準(zhǔn)確的說(shuō)。 
> Scandir 函數(shù)會(huì)莫名其妙掃描兩次 ../ 處的文件,也就是說(shuō)如果小邪有倆文件。 
> ../b.php 和 ../a.php,結(jié)果就會(huì)在掃描報(bào)告上面出現(xiàn)兩次,很是奇怪。 

復(fù)制代碼代碼如下:


//Update at 2010.07.25 - 以下代碼作廢 
$path = '..'; 
function get_filetree_scandir($path){ 
$tree = array(); 
foreach(scandir($path) as $single){ 
if(is_dir('../'.$single)){ 
$tree = array_merge($tree,get_filetree($single)); 

else{ 
$tree[] = '../'.$single; 


return $tree; 

print_r(get_filetree_scandir($path)); 

//Update at 2010.07.25 - 以下為新代碼 
$path = './'; 
function get_filetree_scandir($path){ 
$result = array(); 
$temp = array(); 
if (!is_dir($path)||!is_readable($path)) return null; //檢測(cè)目錄有效性 
$allfiles = scandir($path); //獲取目錄下所有文件與文件夾 
foreach ($allfiles as $filename) { //遍歷一遍目錄下的文件與文件夾 
if (in_array($filename,array('.','..'))) continue; //無(wú)視 . 與 .. 
$fullname = $path.'/'.$filename; //得到完整文件路徑 
if (is_dir($fullname)) { //是目錄的話繼續(xù)遞歸 
$result[$filename] = get_filetree_scandir($fullname); //遞歸開始 

else { 
$temp[] = $filename; //如果是文件,就存入數(shù)組 


foreach ($temp as $tmp) { //把臨時(shí)數(shù)組的內(nèi)容存入保存結(jié)果的數(shù)組 
$result[] = $tmp; //這樣可以讓文件夾排前面,文件在后面 

return $result; 

print_r(get_filetree_scandir($path)); 


> Glob 函數(shù)掃描灰常準(zhǔn)確,并且會(huì)自動(dòng)按照字母排好順序,貌似是最佳方案。 

復(fù)制代碼代碼如下:


$path = '..'; 
function get_filetree($path){ 
$tree = array(); 
foreach(glob($path.'/*') as $single){ 
if(is_dir($single)){ 
$tree = array_merge($tree,get_filetree($single)); 

else{ 
$tree[] = $single; 


return $tree; 

print_r(get_filetree($path)); 

延伸 · 閱讀

精彩推薦
496
主站蜘蛛池模板: 青青青在线免费 | 美国黄色小视频 | 爽爽淫人综合网网站 | 国产在线精品一区二区夜色 | 91 免费视频 | 欧美性黄 | 日日做夜夜操 | 亚洲国产网址 | 黄色网址在线免费 | 操碰在线视频 | 亚洲一区二区三区在线 | 日韩精品中文字幕一区二区三区 | 一区二区免费网站 | 国产成人精品免费视频大全最热 | av在线免费观看国产 | 色婷婷综合久久久中字幕精品久久 | 学霸趴下被打肿光屁股小说 | 精品一区二区三区四区在线 | 亚卅毛片 | 亚洲视色 | 欧美成人一级 | 黄色成人短视频 | 激情视频日韩 | 日韩欧美电影一区二区三区 | 欧美黄一级 | 欧美日韩手机在线观看 | 国内精品久久久久久久影视红豆 | 久久成年网站 | 精品中文字幕在线播放 | 亚洲第一页综合 | 一级免费在线视频 | 狠狠干夜夜草 | 欧美成人福利 | 亚洲成人免费视频在线 | 久色网站| 欧美成人精品欧美一级 | videos高潮 | 国产午夜精品一区二区三区在线观看 | 精品久久一区二区三区 | 国产午夜精品一区二区三区视频 | 国内精品国产三级国产a久久 |