天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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


> 與更強力的 Glob() 函數,作用是以數組的形式返回與指定模式相匹配的文件名或目錄。
> 友情提醒,千萬別像小邪那樣在電腦前面呆太長時間,否則就會像小邪一樣得見鬼的高血糖。

一. 遍歷單層文件夾:

> 在掃描單層文件夾的問題是,兩個函數的結果雖有不同,不過表現是相差不大的。
> Scandir 函數會提供額外兩行,分別是 “.” 和 “..” ,而 Glob 則是沒有的。
復制代碼 代碼如下:
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();

二. 遞歸遍歷文件樹:

> 在遞歸掃描文件夾樹的問題上,還是 Glob 函數的表現好一點,很準確的說。
> Scandir 函數會莫名其妙掃描兩次 ../ 處的文件,也就是說如果小邪有倆文件。
> ../b.php 和 ../a.php,結果就會在掃描報告上面出現兩次,很是奇怪。
復制代碼 代碼如下:
//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; //檢測目錄有效性
$allfiles = scandir($path); //獲取目錄下所有文件與文件夾
foreach ($allfiles as $filename) { //遍歷一遍目錄下的文件與文件夾
if (in_array($filename,array('.','..'))) continue; //無視 . 與 ..
$fullname = $path.'/'.$filename; //得到完整文件路徑
if (is_dir($fullname)) { //是目錄的話繼續遞歸
$result[$filename] = get_filetree_scandir($fullname); //遞歸開始
}
else {
$temp[] = $filename; //如果是文件,就存入數組
}
}
foreach ($temp as $tmp) { //把臨時數組的內容存入保存結果的數組
$result[] = $tmp; //這樣可以讓文件夾排前面,文件在后面
}
return $result;
}
print_r(get_filetree_scandir($path));

> Glob 函數掃描灰常準確,并且會自動按照字母排好順序,貌似是最佳方案。
復制代碼 代碼如下:
$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));

php技術使用PHP遍歷文件夾與子目錄的函數代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产亚洲欧美在线中文BT天堂网 | 国产九色在线 | 越南女子杂交内射BBWXZ | 国产精品国产三级国产an | 欧美国产一区二区三区激情无套 | 竹菊影视一区二区三区 | 亚洲黄色免费观看 | 美国CERANETWORK超清 | 97成人免费视频 | 最新黄yyid | 一品道门在线观看免费视频 | 亚洲精品一二三区区别在哪 | 色吧最新网址 | 久久亚洲精品中文字幕 | a免费在线观看视频 | 538久久视频在线 | 天堂tv免费tv在线tv香蕉 | 国产超碰AV人人做人人爽 | 一本到道免费线观看 | 中文字幕无码一区二区免费 | 午夜性伦鲁啊鲁免费视频 | 欧美多人群p刺激交换电影 欧美多毛的大隂道 | 亚洲精品久久YY5099 | 蜜柚视频高清在线 | 专干老肥熟女视频网站300部 | 亚洲第一成年网站视频 | 狠狠干狠狠色 | 免费精品国产人妻国语麻豆 | 欧美 亚洲综合在线一区 | 国产精品18久久久久久欧美网址 | 婷婷综合亚洲爱久久 | 99热在线观看精品 | GAY空少被体育生开菊 | 国产精品路线1路线2路线 | 2017天天拍天天拍香蕉视频 | 中文人妻熟妇精品乱又伧 | 亚洲视频中文字幕在线观看 | 国产香蕉视频 | 国产在线精品国自产拍影院午夜 | 亚洲免费无码av线观看 | 男女车车的车车网站W98免费 |