【用PHP5的DirectoryIterators递归扫描索引】教程文章相关的互联网学习教程文章

PHP 之递归遍历目录【代码】

function listDirs($path) {$dir_handle = opendir($path);while(false !== $file=readdir($dir_handle)) {if ($file==‘.‘ || $file==‘..‘) continue;//输出该文件echo$file, ‘<br>‘;//判断当前是否为目录if(is_dir($path . ‘/‘ . $file)) {//是目录listDirs($path . ‘/‘ . $file);}}closedir($dir_handle);} 原文:https://www.cnblogs.com/yang-2018/p/10332197.html

php 递归树形结构【代码】

function tree($arr, $pid=0, $level=0){static $tree = [];foreach($arr as $v){if($v[‘pid‘] == $pid){$v[‘level‘] = $level;if($pid == 0){$v[‘name‘] = $v[‘name‘];}else{$v[‘name‘] = str_repeat(‘‘, $level).‘└─‘.$v[‘name‘];}$tree[]=$v;tree($arr, $v[‘id‘], $level+1);}}return $tree; } 原文:https://www.cnblogs.com/zjj1990/p/9274241.html

php递归无限极分类

递归无限级分类有几种形式,我这里只举例比较常用的三种:第一种:返回有排序的数组:<?php$data = array(1 => array(‘id‘ => 1,‘pid‘ => 0,‘user_name‘ => ‘one‘,),2 => array(‘id‘ => 2,‘pid‘ => 1,‘user_name‘ => ‘two‘,),3 => array(‘id‘ => 3,‘pid‘ => 1,‘user_name‘ => ‘two‘,),4 => array(‘id‘ => 4,‘pid‘ => 2,‘user_name‘ => ‘three‘,),5 => array(‘id‘ => 5,‘pid‘ => 2,‘user_name...

php递归遍历文件目录【代码】

之前面试的时候别人有这么一到面试题,说是用php来遍历整个目录,心里想着这有什么难得,可是真的写的时候却写不出来,所以说年轻人写代码戒骄戒躁,所以今天把这个写了一下,代码如下: <?php function traverse($filepath){if($dir_handle = @opendir($filepath)){while($dir = readdir($dir_handle)){if($dir!="."&&$dir!=".."){if(is_dir($filepath."/".$dir)){traverse($filepath."/".$dir);}else{echo$dir."<br>";}}}}} trav...

PHP递归目录的5种方法【代码】

<?php //方法一:使用glob循环function myscandir1($path, &$arr) {foreach (glob($path) as $file) {if (is_dir($file)) {myscandir1($file . ‘/*‘, $arr);} else {$arr[] = realpath($file);}} }//方法二:使用dir && read循环 function myscandir2($path, &$arr) {$dir_handle = dir($path);while (($file = $dir_handle->read()) !== false) {$p = realpath($path . ‘/‘ . $file);if ($file != "." && $file != "..") {$ar...

php 递归删除文件夹【代码】

因为php 的rmdir 只能删除空文件夹。一旦要删除有文件的文件夹,就需要先把文件夹里的文件删除掉。当然了,还有文件夹里的文件夹,下面还有文件夹。。。。怎么办呢。递归删除法,完美解决这个问题。上代码function rmfile($dir){ if(!file_exists($dir)) echo "文件不存在!";if ($file_dir = opendir($dir)) {while (($sun_file=readdir($file_dir)) != false) {if ($sun_file !==‘.‘ && $sun_file !==‘..‘) {if(is_dir("$d...

php递归删除目录及子文件文件夹【代码】

$path=‘./phpMyAdmin‘;function delAll($path){if(is_dir($path)){$handle=opendir($path);//$file=readdir($handle); 为什么不能在外面读取目录句柄 while(false !== ($file = readdir($handle))){if($file==‘.‘ ||$file==‘..‘){continue;}if(is_dir($path.‘/‘.$file)){delAll($path.‘/‘.$file);}else{unlink($path.‘/‘.$file); //删除文件 }}closedir($handle); //关闭目录句柄//r...

php处理斐波那契数列非递归方法

我自己构思了下,实际上程序来解决这个事情,就是一个偏移量的问题。首先看数列::1、1、2、3、5、8、13、21、34数列的下一个数是前2个数字之和,以此类推。 程序处理的话,实际上就是一个FOR语句,传统FOR语句是for($i=1;$i;$count,$i++),这里的偏移量是$i=$i+1.如果处理这个数列的话,这个偏移量就不是1了,是前1个数字。那么当你for的时候,一个变量记录上一个数字,另外一个记录当前数字,偏移量为这上一个数字,然后在循环中...

PHP递归生成树形数组【代码】

数据表结构id name pid private function tree($data,$p_id=0){foreach($data as $row){if($row[‘pid‘]==$p_id){$tmp = $this->tree($data,$row[‘id‘]);if($tmp){$row[‘child‘]=$tmp;}else{$row[‘leaf‘] = true;}$tree[]=$row; }}Return $tree;} 原文:http://www.cnblogs.com/baby123/p/5382085.html

php的递归函数

递归函数,就是在函数体内调用自身例子:<?phpfunction repayment($number){ if ($number<10){ echo $number."<hr>"; $number++; repayment($number); }}//递归函数,就是在函数体内调用自身,疑问:加exit()和不加exit有什么区别?repayment(1); ?> 例子2:function add($num){ if ($num>1){ $num--; return add($num)*$num; }else{ return 1; }}echo number_format(add(20));原文:http://www.cnblogs.com/pan-hello/p/456...

php实现用于删除整个目录的递归函数【代码】

本文实例讲述了php实现用于删除整个目录的递归函数。分享给大家供大家参考。具体实现方法如下: <?php function delete_directory($dir) {if ($dh = @opendir($dir)) {while (($file = readdir ($dh)) != false) {if (($file == ".") || ($file == "..")) continue;if (is_dir($dir . ‘/‘ . $file))delete_directory($dir . ‘/‘ . $file);elseunlink($dir . ‘/‘ . $file);}@closedir($dh);rmdir($dir);} } $dir = "./fakeDir...

php 递归遍历目录【代码】

<?phpheader(‘Content-Type: text/html; charset=utf-8‘); /** * @param 目录地址*/ function readDirs($path) {$dir_handle = openDir($path);while(false !== $file=readDir($dir_handle)) {if ($file==‘.‘ || $file==‘..‘) continue;//输出该文件echo $file, ‘<br>‘;//判断当前是否为目录if(is_dir($path . ‘/‘ . $file)) {//是目录readDirs($path . ‘/‘ . $file);}}closeDir($dir_handle); }// $path = ‘./‘; //...

PHP数组树状递归 -- 学习笔记(自己对于刚学的递归数组的一些理解)

echo ‘<hr>‘;$arr = array( array(‘id‘=>1,‘name‘=>‘小明爸‘,‘pid‘=>0), array(‘id‘=>2,‘name‘=>‘小强爸‘,‘pid‘=>0), array(‘id‘=>3,‘name‘=>‘小黑爸‘,‘pid‘=>0), array(‘id‘=>4,‘name‘=>‘小明‘,‘pid‘=>1), array(‘id‘=>5,‘name‘=>‘小强‘,‘pid‘=>2), array(‘id‘=>6,‘name‘=>‘小黑‘,‘pid‘=>3), ...

PHP递归复制文件夹以及传输文件夹到其他服务器。【代码】

项目中需要复制整个文件夹,有时候还需要将整个文件夹传输到远程服务器。这里就要递归遍历整个文件夹了,想看递归遍历文件夹的代码。 function deepScanDir($dir) {$fileArr = array ();$dirArr = array ();$dir = rtrim($dir, ‘//‘);if (is_dir($dir)) {$dirHandle = opendir($dir);while (false !== ($fileName = readdir($dirHandle))) {$subFile = $dir . DIRECTORY_SEPARATOR . $fileName;if (is_file($subFile)) {$fileArr...

PHP递归获取多层栏目【代码】

1/**2 * 返回多层栏目3 * @param $data 操作的数组4 * @param int $pid 一级PID的值5 * @param string $html 栏目名称前缀6 * @param string $fieldPri 唯一键名,如果是表则是表的主键7 * @param string $fieldPid 父ID键名8 * @param int $level 不需要传参数(执行时调用)9 * @return array 10*/11publicfunction channelLevel($data, $pid = 0, $html = " ", $fieldPri = ‘cid‘, $fieldPid...

PHP5 - 相关标签