久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

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

> 與更強(qiáng)力的 Glob() 函數(shù),,作用是以數(shù)組的形式返回與指定模式相匹配的文件名或目錄,。 

一. 遍歷單層文件夾: 

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

二. 遞歸遍歷文件樹(shù): 

> 在遞歸掃描文件夾樹(shù)的問(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)兩次,很是奇怪,。 
//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); //遞歸開(kāi)始 
} www.jbxue.com
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)按照字母排好順序,,貌似是最佳方案。 
$path = '..'; 
function get_filetree($path){ 
$tree = array(); 
foreach(glob($path.'/*') as $single){ 
if(is_dir($single)){ 
$tree = array_merge($tree,get_filetree($single)); 
}  www.jbxue.com
else{ 
$tree[] = $single; 
return $tree; 
print_r(get_filetree($path)); 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多