当前位置:  编程技术>php
本页文章导读:
    ▪php目录遍历与删除的代码一例      主要功能如下: 遍历该文件夹下的文件,目录子目录,读取当前文件下目录和文件,删除当前文件夹下的目录子目录以及文件。 说明:暂不支持中文目录。 <?php header("Content-type:text/html;.........
    ▪php递归遍历目录的二个函数      借助php内置函数glob、is_dir、dir实现。 <?php /** * 函数1 * 递归遍历目录 * site www. */ function myscandir($pathname){ foreach( glob($pathname) as $filename ){ if(is_dir($filename)){ .........
    ▪php遍历目录下所有文件的函数      方法1,使用dir返回对象。 方法2,使用readdir()函数。 以下是完整代码: <?php /** * 目录递归函数 dir返回对象 * site www. */ function tree($directory) { $mydir = dir($directory); echo "<ul>\n"; .........

[1]php目录遍历与删除的代码一例
    来源: 互联网  发布时间: 2013-12-24

主要功能如下:
遍历该文件夹下的文件,目录子目录,读取当前文件下目录和文件,删除当前文件夹下的目录子目录以及文件。
说明:暂不支持中文目录。

<?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']);
}
/**
* 遍历当前目录下的文件和目录以及子文件夹中目录
* 
* @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;
}
/**by http://www.
* 删除目录下的文件以及子目录
* #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);
}
?>
您可能感兴趣的文章:
Php删除指定文件与文件夹的方法
PHP删除N分钟前创建的所有文件的小例子
PHP实例:批量删除文件夹及文件夹中的文件
php删除目录及所有文件的方法举例
php 目录遍历与删除的函数示例
php rmdir删除目录的三种方法
删除指定文件夹中所有文件的php代码
删除多级目录的php自定义函数
php删除目录与列出目录下所有文件的代码
php递归删除文件与目录的代码
php递归删除目录及多级子目录下所有文件的代码
php递归创建和删除文件夹的代码
php递归删除目录的例子

    
[2]php递归遍历目录的二个函数
    来源: 互联网  发布时间: 2013-12-24

借助php内置函数glob、is_dir、dir实现。

<?php
/**
 * 函数1
 * 递归遍历目录
 * site www.
*/
    function myscandir($pathname){
        foreach( glob($pathname) as $filename ){
            if(is_dir($filename)){
                myscandir($filename.'/*');
            }else{
                echo $filename.'<br/>';
            }
        }
    }
    myscandir('D:/wamp/www/exe1/*');

/**
 * 函数2
 * 使用dir()函数
*/
    function myscandir($path){
        $mydir=dir($path);
        while($file=$mydir->read()){
            $p=$path.'/'.$file;
       
            if(($file!=".") AND ($file!="..")){
            echo $p.'<br>';
            }
       
            if((is_dir($p)) AND ($file!=".") AND ($file!="..")){
                myscandir($p);
            }
        }   
    }
    myscandir(dirname(dirname(__FILE__)));
?>

    
[3]php遍历目录下所有文件的函数
    来源: 互联网  发布时间: 2013-12-24

方法1,使用dir返回对象。
方法2,使用readdir()函数。

以下是完整代码:

<?php
/**
* 目录递归函数 dir返回对象
* site www.
*/
function tree($directory) 
{ 
 $mydir = dir($directory); 
 echo "<ul>\n"; 
 while($file = $mydir->read())
 { 
  if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) 
  {
   echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; 
   tree("$directory/$file"); 
  } 
  else 
  echo "<li>$file</li>\n"; 
 } 
 echo "</ul>\n"; 
 $mydir->close(); 
} 
//开始运行

echo "<h2>目录为粉红色</h2><br>\n"; 
tree("./"); 

/**
* 方法2 用readdir()函数
*/
function listDir($dir)
{
 if(is_dir($dir))
    {
      if ($dh = opendir($dir)) 
  {
         while (($file = readdir($dh)) !== false)
   {
        if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
    {
         echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
         listDir($dir."/".$file."/");
        }
    else
    {
            if($file!="." && $file!="..")
     {
             echo $file."<br>";
          }
        }
         }
         closedir($dh);
      }
    }
}
//开始运行
listDir("./");
?>
附,遍历目录下所有文件的代码。
<?php
   $num=0;    //记录目录下的文件个数
   $dirname='LAMP'; //要遍历的目录名字
   $dir_handle=opendir($dirname);

   echo '<table border="1" align="center" width="960px" cellspacing="0" cellpadding="0">';
   echo '<caption><h2>目录'.$dirname.'下面的内容</h2></caption>';
   echo '<tr align="left" bgcolor="#cccccc">';
   echo '<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>';
   while($file=readdir($dir_handle))
   {
   	 if($file!="."&&$file!="..")
   	 {
   	 	$dirFile=$dirname."/".$file;
   	 	if($num++%2==0)    //隔行换色
   	 		$bgcolor="#ffffff";
   	 	else 
   	 		$bgcolor="#cccccc";
   	 	echo '<tr bgcolor='.$bgcolor.'>';
   	 	echo '<td>'.$file.'</td>';
   	 	echo '<td>'.filesize($dirFile).'</td>';
   	 	echo '<td>'.filetype($dirFile).'</td>';
   	 	echo '<td>'.date("Y/n/t",filemtime($dirFile)).'</td>';
   	 	echo '</tr>';
   	 }
   }
   echo '</table>';
   closedir($dir_handle);
   echo '在<b>'.$dirname.'</b>目录下的子目录和文件共有<b>'.$num.'</b>个';
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
sqlserver iis7站长之家
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3