php递归操作目录 递归对参数转义
header("Content-type:text/html;charset=utf-8");
//递归读取目录
function reddir($path,$level=0)
{
$dh = opendir($path);
while(($row = readdir($dh)) !== false)
{
if($row == '.' || $row == '..')
continue;
echo str_repeat(' ',$level*6) . $row . '<br />';
if(is_dir($path . '/' . $row))
reddir($path . '/' . $row , $level+1);
}
closedir($dh);
}
reddir($path);
//递归删除目录
function deldir($path,$level=0)
{
//不是目录,直接返回
if(!is_dir($path))
return NULL;
$dh = opendir($path);
while(($row = readdir($dh)) != false)
{
if($row == '.' || $row == '..')
continue;
//判断是否是普通文件
if(!is_dir($path . '/' . $row))
unlink($path . '/' . $row);
else
deldir($path . '/' . $row , $level+1);//递归把子目录删除
}
closedir($dh);
rmdir($path);
return true;
}
deldir($path);
//递归对参数进行转义
function _als($param)
{
$arr = array();
if(is_array($param))
{
foreach($param as $k=>$v)
{
if(is_array($v))
$arr[$k] = _als($v);
else
$arr[$k] = addslashes($v);
}
return $arr;
}
else
return addslashes($param);
} $arr = array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",'b'=>array('a' => "'a'"))))))));
$arr = _als($arr);
print_r($arr);
php递归操作目录 递归对参数转义的更多相关文章
- Linux下文件及目录的一些操作(附递归遍历目录源码)
1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...
- Java 7 中 NIO.2 的使用——文件递归操作
众所周知,递归编程是一项有争议的技术,因为它需要大量的内存,但是它能简化一些编程任务.基本上,一个递归操作都是程序调用自己传递参数修改的值或者参数传递到当前的程序循环中.递归编程通常用来计算阶乘斐波那 ...
- python递归列出目录及其子目录下所有文件
python递归列出目录及其子目录下所有文件 一.前言 函数的递归,简单来说,就是函数内部调用自己 先举个小例子,求阶乘 def factorial(n): if n == 0: return 1 e ...
- 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
在公司内部的微服务架构中有使用到了"ZooKeeper",虽然官方有提供了.NET的SDK,但易用性非常的差,且搜遍github.nuget,没有发现一个可以跨平台且易用的组件,所 ...
- Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。
题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就 ...
- C#利用SharpZipLib解压或压缩文件(支持多层目录递归压缩)
需要下载ICSharpCode.SharpZipLib.dll using System; using System.Collections.Generic; using System.Linq; u ...
- (实用篇)PHP不用递归遍历目录下所有文件的代码
<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...
- Java递归列出目录下全部文件
Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...
- VC/MFC 下 递归遍历目录下的所有子目录及文件
在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历.递归遍历代码如下: /******************* ...
随机推荐
- Heartbleed心脏出血漏洞原理分析
Heartbleed心脏出血漏洞原理分析 2017年01月14日 18:14:25 阅读数:2718 1. 概述 OpenSSL在实现TLS和DTLS的心跳处理逻辑时,存在编码缺陷.OpenSS ...
- BZOJ4381 : [POI2015]Odwiedziny / Luogu3591[POI2015]ODW - 分块+树剖
Solution 在步伐$pace$比较小的时候, 我们发现用前缀和直接维护会很快 而在$pace$比较大的时候, 则暴力往上跳会最优 设$blo= \sqrt{N}$ 若$pace<=blo$ ...
- 游戏脚本编程 文本token解析
一个数字的组成由以下几个字符 正负号 + - 小数点 . 数字 0-9 比如 3 -3 3.13 -34.2234 但是符号和小数点不会出现多次 那么识别流程用图来表示 则是 整数 浮点数 一 ...
- maven打包自定义jar到maven仓库
mvn install:install-file -Dfile=F:/Sdk4j.jar -DgroupId=com.sdk4j -DartifactId=sdk4j -Dversion=1.0 -D ...
- 图解HTTP第二章
简单的 HTTP 协议 1>HTTP 协议用于客户端和服务器端之间的通信 HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同,用于客户端和服务器之间的通信.请求访问文本或图像等资源的一 ...
- The current state of generics in Delphi( 转载)
The current state of generics in Delphi To avoid duplication of generated code, the compiler build ...
- Centos7通过yum安装最新MySQL
一:去官网查看最新安装包 https://dev.mysql.com/downloads/repo/yum/ 二:下载MySQL源安装包 wget http://dev.mysql.com/get/m ...
- Papers | 图像/视频增强 + 深度学习
目录 I. ARCNN 1. Motivation 2. Contribution 3. Artifacts Reduction Convolutional Neural Networks (ARCN ...
- Linux下nautilus的右键快捷菜单项设置
某一天我的Linux更新完后, 我照常在文件夹下点击右键想打开终端, 却发现右键快捷菜单没有Open in terminal的菜单项了. 在网上查找了一下, 结合自己系统的情况发现了解决办法. 由于我 ...
- _ZNote_Mac_技巧_QuickLook功能扩展
QuicLook(快速查看)是macOS一项非常方便的独有功能: 当选中一个文件,只需要按下空格键即可查看其内容,在按下空格退出QuickLook, 不需要启动再关闭任何软件. 默认支持大部分视频.音 ...