php递归遍历删除文件的方法

本文实例讲述了php递归遍历删除文件的方法。分享给大家供大家参考。具体如下:

这个函数稍加修改就可以变成一个递归文件拷贝函数

<?php
function mover($src,$dst) {
$handle=opendir($src);
// Opens source dir.
if (!is_dir($dst)) mkdir($dst,0755);
// Make dest dir.
while ($file = readdir($handle)) {
  if (($file!=".") and ($file!="..")) {
  // Skips . and .. dirs
    $srcm=$src."/".$file;
    $dstm=$dst."/".$file;
    if (is_dir($srcm)) {
    // If another dir is found
     mover($srcm,$dstm);
  // calls itself - recursive WTG
    } else {
     copy($srcm,$dstm);
     unlink($srcm);
  // Is just a copy procedure is needed
    } // comment out this line
  }
}
closedir($handle);
rmdir($src);
}
?>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP使用递归算法无限遍历数组示例

    本文实例讲述了PHP使用递归算法无限遍历数组.分享给大家供大家参考,具体如下: (PS:为方便阅读,此处代码使用php代码格式化工具http://tools.jb51.net/code/phpformat进行了格式化处理) <?php //无限遍历数组 $a1 = array("a", "b", "c"); //一维数组 $a2 = array(array(21, 3, 6), array("a", "b&qu

  • PHP不用递归遍历目录下所有文件的代码

    实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $

  • PHP递归遍历指定文件夹内的文件实现方法

    今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下. 发现php的文件夹函数好像没有提供遍历文件夹下的所有文件(包括子目录中的文件),于是,就想自己实现一个. 在写的时候发现一些操作文件夹的函数并不是自己想的那样.比如,dirname()根据提供的完整文件路径来取得文件所在的文件夹的路径,但如果你传入的是文件夹,它取的就是它的父文件夹.这点要明白.basename()也是同样的道理,传入文件夹路径取得就是

  • php全排列递归算法代码

    算法原理如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为:    ① 如果n=1,则排列P只有一个元素i:    ② 如果n>1,则全排列P由排列(i)Pi构成:根据定义,可以看出如果已经生成(k-1)个元素的排列Pi,那么k个元素的排列可以在每个Pi前面加上元素i而生成.代码实现 复制代码 代码如下: function rank($base, $temp=null){    $len = st

  • PHP递归遍历多维数组实现无限分类的方法

    本文实例讲述了PHP递归遍历多维数组实现无限分类的方法.分享给大家供大家参考,具体如下: <?php //$data[]=array('id'=>1,'parentid'=>0,'name'=>'中国','img'=>'52091199'); $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国'); $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国')

  • php获得文件夹下所有文件的递归算法的简单实例

    如下所示: function my_scandir($dir) { $files=array(); if(is_dir($dir)) { if($handle=opendir($dir)) { while(($file=readdir($handle))!==false) { if($file!="." && $file!="..") { if(is_dir($dir."/".$file)) { $files[$file]=my_

  • php通过前序遍历树实现无需递归的无限极分类

    本文实例讲述了php通过前序遍历树实现无需递归的无限极分类.分享给大家供大家参考.具体如下: 大家通常都是使用递归实现无限极分类都知道递归效率很低,下面介绍一种改进的前序遍历树算法,不适用递归实现无限极分类,在大数据量实现树状层级结构的时候效率更高. sql代码如下: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `lft` i

  • 关于PHP递归算法和应用方法介绍

    PHP作为开发动态页面WEB的首选技术,对于它的基础知识我们一定要牢记,这让才能有助于编程.我们一起来看看PHP递归算法是怎么回事吧. 1.调用子程序的含义: 当主程序执行到调用子程序A语句时,系统保存一些必要的现场数据,然后执行类似于BASIC语言的GOTO语句,跳转到子程序A(为了说得简单些,我这里忽略了参数传递这个过程).当子程序A执行到调用子程序B语句时,系统作法如上,跳转到子程序B.子程序B执行完所有语句后,跳转回子程序A调用子程序B语句的下一条语句(我这又忽略了返回值处理)子程序A执

  • PHP递归算法的详细示例分析

    我们在建设一个网站的时候,程序员们首选的当属PHP语言.我们对PHP还是比较熟悉的,接下来我们将会为大家介绍一下PHP递归算法.PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写. PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用.PHP 独特的语法混合了 C.Java.Perl 以及 PHP 自创新的语法.它可以比 CGI 或者

  • PHP递归遍历指定目录的文件并统计文件数量的方法

    本文实例讲述了PHP递归遍历指定目录的文件并统计文件数量的方法.分享给大家供大家参考.具体实现方法如下: <?php //递归函数实现遍历指定文件下的目录与文件数量 function total($dirname,&$dirnum,&$filenum){ $dir=opendir($dirname); echo readdir($dir)."<br>"; //读取当前目录文件 echo readdir($dir)."<br>&qu

  • php递归遍历多维数组的方法

    本文实例讲述了php递归遍历多维数组的方法.分享给大家供大家参考.具体如下: <?php function get_array_elems($arrResult, $where="array"){ while(list($key,$value)=each($arrResult)){ if (is_array($value)){ get_array_elems($value, $where."[$key]"); } else { for ($i=0; $i<

随机推荐