程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php的目錄遍歷及目錄刪除函數

php的目錄遍歷及目錄刪除函數

編輯:PHP綜合

小編今天沒事寫了目錄想關的函數

包括 遍歷該文件夾下的文件,目錄子目錄  讀取當前文件下目錄和文件  刪除當前文件 夾下的目錄子目錄以及文件 以上三個函數目前還不支持中文文件 中文目錄

<?php   
header("Content-type:text/html;charset=utf-8");   
/**   
* 讀取當前目錄下的文件和目錄   
*    
* @param    string    $path    路徑   
* @return    array    所有滿足條件的文件   
*/
function tlist($path){   
    $path = iconv('utf-8', 'gbk', $path);   
    if(!is_dir($path)){   
        throw new Exception($path."不是目錄");   
    }   
    $arr = array('dir'=>array(),'file'=>array());   
    $hd = opendir($path);   
    while(($file = readdir($hd))!==false){   
        if($file=="."||$file=="..") {continue;}   
        if(is_dir($path."/".$file)){   
            $arr['dir'][] = iconv('gbk','utf-8',$file);   
        }else if(is_file($path."/".$file)){   
            $arr['file'][] = iconv('gbk','utf-8',$file);   
        }   
    }   
    closedir($hd);   
    echo "目錄有:".implode("<br />",$arr['dir'])."<br />";   
    echo "文件有:".implode("<br />",$arr['file']);   
}   
/**   
* 遍歷當前目錄下的文件和目錄以及子文件夾中目錄   
* http://www.bianceng.cn
* @param    string    $path    路徑   
* @return    array    所有滿足條件的文件   
*/
function blist($path){   
    if(!is_dir(iconv("utf-8","gbk",$path))){   
    throw new Exception("文件夾".$path."不存在或者不是文件");   
   }   
    $arr = array();   
    $hd = opendir(iconv("utf-8","gbk",$path));   
    while(($file = readdir($hd))!==false){   
        if($file=="."||$file=="..") {continue;}   
          $newpath=iconv('utf-8', 'gbk', $path) .'/'.$file;   
        if(is_dir($newpath)){   
            $arr[] = blist($path."/".$file);   
        }else if(is_file($newpath)){   
            $arr[] = iconv('gbk','utf-8',$file);   
        }   
    }   
    closedir($hd);   
    return $arr;   
}   
/**   
* 刪除目錄下的文件以及子目錄   
* #param  string $path 路徑   
* #return string 刪除成功返回true 失敗返回false;   
*/
function dirDel($path){   
    if(!is_dir($path)){   
        throw new Exception($path."輸入的不是有效目錄");   
    }   
    $hand = opendir($path);   
    while(($file = readdir($hand))!==false){   
        if($file=="."||$file=="..")  continue;   
        if(is_dir($path."/".$file)){   
            dirDel($path."/".$file);   
        }else{   
            @unlink($path."/".$file);   
        }   
               
    }   
    closedir($hand);   
    @rmdir($path);   
}   
?>

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved