国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php對(duì)文件夾進(jìn)行相關(guān)操作(遍歷、計(jì)算大小)

2024-05-04 23:40:07
字體:
供稿:網(wǎng)友
這篇文章主要介紹了php對(duì)文件夾進(jìn)行相關(guān)操作,包括遍歷并打印指定目錄下所有文件和計(jì)算文件大小去空白,以及去重復(fù)值等,感興趣的小伙伴們可以參考一下
 

為大家分享的第一個(gè)操作內(nèi)容: 遍歷并打印指定目錄下所有文件
 

  1. <?php  
  2. //功能:遍歷并打印指定目錄下所有文件  
  3.   
  4. function scan_dir($dir_name,$dir_flag=1) {  
  5.   static $FILE_COUNT=1;        //記錄文件數(shù)目 初值為1 目錄名稱不記  
  6.   $FILE_COUNT--;            //每調(diào)用一次scan_dir()函數(shù)自減1  
  7.   @$dir_handle=opendir($dir_name);   //抑制錯(cuò)誤信息顯示 便于自定義錯(cuò)誤顯示  
  8.   if(!$dir_handle)  
  9.   die("目錄打開錯(cuò)誤!");  
  10.   while(false!==($filename=readdir($dir_handle))) //文件名為‘0'時(shí),readdir返回 FALSE,判斷返回值是否不全等  
  11.   {                    
  12.   
  13.     $flag=$dir_flag;         //古怪的 is_dir($filename) ! $filename這個(gè)路徑必須能夠?qū)さ剑‘?dāng)$filename不存在或者不是目錄時(shí)返回false  
  14.     if($filename!='.'&&$filename!='..')  
  15.     {  
  16.       $FILE_COUNT++;          //不記錄當(dāng)前路徑和上一級(jí)路徑  
  17.       while($flag>0&&--$flag)     //負(fù)數(shù)仍為真  
  18.         echo ' ';  
  19.       if(is_dir($dir_name.$filename)) //判斷 是否為一個(gè)目錄  
  20.       {  
  21.         echo '<strong>'."<a href=".$dir_name.$filename.">".$filename."</a></strong><br>";  
  22.         scan_dir($dir_name.$filename.'/',$dir_flag+1);   //$dir_flag標(biāo)志目錄樹層次  
  23.       }  
  24.       else 
  25.       {  
  26.         echo "<a href=".$dir_name.$filename.">".$filename."</a><br>";  
  27.       }  
  28.     }  
  29.   }  
  30.   closedir($dir_handle);         //關(guān)閉目錄句柄  
  31.   echo "文件總數(shù):".$FILE_COUNT.'<br>';  
  32. }  
  33.   
  34. scan_dir('D:/AppServ/www/mytest/shopping/payment/');  
  35.   
  36.   
  37. /*總結(jié): 
  38. 1,關(guān)于路徑 目錄的路徑末尾都加上 '/' 以便后面與文件名字符串連接 形成新的 路徑字符串 
  39. 2,目錄遍歷 這是一個(gè)關(guān)于樹的問題 
  40. 3,is_dir()函數(shù)第一個(gè)參數(shù)必須是一個(gè)能夠識(shí)別的PATH否則會(huì)因目錄不存在而返回一個(gè)false容易誤解 
  41. 得出 “這不是一個(gè)目錄”的錯(cuò)誤結(jié)論 形成邏輯上的錯(cuò)誤 
  42. 4,注意當(dāng)前路徑'.'和上一級(jí)路徑'..'的剔除 否則 在遞歸環(huán)節(jié)造成死循環(huán) 直至內(nèi)存耗盡出錯(cuò)。 
  43. 5,dir_flag這個(gè)變量是記錄樹的深度 以便于目錄分級(jí)分層輸出                */ 
  44. /*不足 
  45. 1,輸出排版不完善 
  46. 2,邏輯與表示層混亂 不分明 大忌! 
  47. 3,面向過程 
  48. */ 
?
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪洞县| 邵阳市| 修武县| 桃园市| 长乐市| 万安县| 天长市| 张家口市| 司法| 邯郸市| 城固县| 巴塘县| 本溪| 盐边县| 迁安市| 乳山市| 定边县| 临邑县| 汝阳县| 渭源县| 滁州市| 伊春市| 龙井市| 安溪县| 灌云县| 团风县| 曲阜市| 天柱县| 金湖县| 文昌市| 五原县| 盐边县| 斗六市| 沅陵县| 海兴县| 尚志市| 达孜县| 射洪县| 乌兰浩特市| 鹿邑县| 徐汇区|