php 刪除非空目錄自定義函數(shù)
來源:程序員人生 發(fā)布時(shí)間:2014-02-11 00:22:53 閱讀次數(shù):3515次
在php中刪除目錄如果是空目錄我們可直接使用rmdir來刪除,但是要?jiǎng)h除非空目錄我們需要先刪除最子級(jí)目錄的文件然后再刪除空目錄,其實(shí)就是遞歸刪除目錄了.
循環(huán)刪除目錄和文件函數(shù),代碼如下:
- function delDirAndFile( $dirName )
- {
- if ( $handle = opendir( “$dirName” ) ) {
- while ( false !== ( $item = readdir( $handle ) ) ) {
- if ( $item != “.” && $item != “..” ) {
- if ( is_dir( “$dirName/$item” ) ) {
- delDirAndFile( “$dirName/$item” );
- } else {
- if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item
- n”;
- }
- }
- }
- closedir( $handle );
- if( rmdir( $dirName ) )echo “成功刪除目錄: $dirName
- n”;
- }
- }
- ?>
循環(huán)目錄下的所有文件,代碼如下:
- function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” )
- {
- if ( $handle = opendir( “$dirName” ) ) {
- while ( false !== ( $item = readdir( $handle ) ) ) {
- if ( $item != “.” && $item != “..” ) {
- if ( is_dir( “$dirName/$item” ) ) {
- delFileUnderDir( “$dirName/$item” );
- } else {
- if( unlink( “$dirName/$item” ) )echo “成功刪除文件: $dirName/$item
- n”;
- }
- }
- }
- closedir( $handle );
- }
- }
- ?>
目錄刪除函數(shù),代碼如下:
- function my_del_dir($directory)
-
- {
- if (is_dir($directory) == false)
- {
- exit("The Directory Is Not Exist!");
- }
- $handle = opendir($directory);
- while (($file = readdir($handle)) !== false)
- {
- if ($file != "." && $file != "..")
- {
- is_dir("$directory/$file")?
- my_del_dir("$directory/$file"):
- unlink("$directory/$file");
- }
- }
- if (readdir($handle) == false)
- {
- closedir($handle);
- rmdir($directory);
- }
- }
- ?>
自己寫的一個(gè),$sourceDir 要?jiǎng)h除的目錄路徑.
調(diào)用方法:DeleteDir(“images/abc”);刪除abc目錄,代碼如下:
- function DeleteDir($sourceDir){
- $succeed = true;
- if(file_exists($sourceDir)){
- $objDir = opendir($sourceDir);
- while(false !== ($fileName = readdir($objDir))){
- if(($fileName != “.”) && ($fileName != “..”)){
- chmod(“$sourceDir/$fileName”,0777);
- if(!is_dir(“$sourceDir/$fileName”)){
- if(!unlink(“$sourceDir/$fileName”)){
- $succeed = false;
- break;
- }
- }
- else{
- DeleteDir(“$sourceDir/$fileName”);
- }
- }
- }
- if(!readdir($objDir)){
- closedir($objDir);
- if(!rmdir($sourceDir)){
- $succeed = false;
- }
- }
- }
- return $succeed;
- }
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)