宝马娱乐在线112222 > 网络应用 > 宝马娱乐在线PHP递归删除目录几个代码实例

原标题:宝马娱乐在线PHP递归删除目录几个代码实例

浏览次数:141 时间:2019-10-01

实例一

下面给大家提供几个函数参考。

 代码如下

实例一:

<?php
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
 if(!is_dir($dirname)){
  echo "{$dirname}不是一个有效的目录!";
  exit();
 }
 $handle = opendir($dirname);
 while(($fn = readdir($handle))!==false){
  if($fn!='.'&&$fn!='..'){
   $curDir = $dirname.'/'.$fn;
   if(is_dir($curDir)){
    fRename($curDir);
   }
   else{
    $path = pathinfo($curDir);
    $newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
    rename($curDir,$newname);   
    echo $curDir.'---'.$newname."<br>";   
   }
  }
 }
}
//给出一个目录名称调用函数
fRename('pl');
?>

复制代码 代码如下:

实例二

<?php 
function deletedir($dir){ 
      if(!handle=@opendir($dir)){     //检测要打开目录是否存在 
               die("没有该目录"); 
      } 
     while(false !==($file=readdir($handle))){ 
               if($file!=="."&&$file!==".."){       //排除当前目录与父级目录 
                            $file=$dir .DIRECTORY_SEPARATOR. $file; 
                            if(is_dir($file)){ 
                                  deletedir($file); 
                            }else{  // www.jb51.net
                                  if(@unlink($file)){ 
                                         echo "文件<b>$file</b>删除成功。<br>"; 
                                  }else{ 
                                          echo  "文件<b>$file</b>删除失败!<br>"; 
                                 } 
                } 
     } 
    if(@rmdir($dir)){ 
           echo "目录<b>$dir</b>删除成功了。<br>n"; 
    }else{ 
           echo "目录<b>$dir</b>删除失败!<br>n"; 
  } 

 代码如下

//测试程序 
$dir="/var/www/test"; 
deletedir($dir); 
?> 

<?php
$dir = './';

实例二:Php递归删除目录方法(兼容中文目录和文件)

if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
        if ($file == "." || $file == "..") continue;
        if(filetype($dir . $file) == 'file')
        {
            $newfile = str_replace('[1]', '', $file);
            rename($dir . $file, $dir . $newfile);
        }
    }
    closedir($dh);
}

复制代码 代码如下:

<?php
/*
本函数支持中文删除目录,由于我只测试了window下删除,linux未测试,如有问题可留言或者自己稍加修改即可。
如有错误欢迎大家指正,共同学习
*/
header("Content-type: text/html; charset=gb2312");

function delete_dir($tmp_path){

 
    if(!is_writable($tmp_path) && is_dir($tmp_path)){
        chmod($tmp_path,0777);
    }

    $encode = mb_detect_encoding($tmp_path, array('UTF-8','GB2312','ASCII','GBK'));
    $tmp_path = iconv($encode,'gb2312',$tmp_path);

 
    $handle_object = scandir($tmp_path);

 
    if(count(scandir($tmp_path))==2){

        if(rmdir($tmp_path)){
            echo $tmp_path.'<br />';
        }else{
            echo $tmp_path.'<br />';
        }

        return ;

    }

    foreach($handle_object as $val){       

        if($val!='..' && $val!='.' && $val!=''){

            if(filetype($tmp_path.'/'.$val)=='dir'){

                if(count(scandir($tmp_path.'/'.$val))==2){
                    if(rmdir($tmp_path.'/'.$val)){
                        echo $$tmp_path.'/'.$val.'<br />';
                    }else{
                        echo $$tmp_path.'/'.$val.'<br />';
                    }
                }else{
                    delete_dir($tmp_path.'/'.$val);
                }          
            }else{
                if(unlink($tmp_path.'/'.$val)){
                    echo $$tmp_path.'/'.$val.'<br />';
                }else{
                    echo $$tmp_path.'/'.$val.'<br />';
                }
            }          
        }else{

            continue;
        }

    }

    
    if(rmdir($tmp_path)){
        echo $tmp_path.'<br />';
    }else{
        echo $tmp_path.'<br />';
    }

本文由宝马娱乐在线112222发布于网络应用,转载请注明出处:宝马娱乐在线PHP递归删除目录几个代码实例

关键词:

上一篇:__construct 构造函数用法

下一篇:没有了