php创建多级目录与级联删除文件的方法示例
本文实例讲述了php创建多级目录与级联删除文件的方法。分享给大家供大家参考,具体如下:
创建多级目录
mkdir函数只能创建一级的目录,如果我们想创建多级目录,则需要自己编写函数。
<?php
$path = "one/two/three/four";
function mkdir_p($path,$mode=0700){
$arr = explode("/",$path);
$path = '';
foreach($arr as $v){
$path .= $v;
mkdir($path,$mode);
$path .= "/";
}
}
mkdir_p($path);
级联删除文件
我们知道PHP中的rmdir函数只能删除空文件夹,unlink只能用来删除文件。
我们可以自己编写函数,级联删除非空文件夹。
<?php
$path = $_SERVER['DOCUMENT_ROOT']."lib";
function rmdir_r($path){
$handle = opendir($path);
while($file=readdir($handle)){ //删除所有文件夹
$type = filetype($path."/".$file);
if($file=='.'||$file=="..")
continue;
if($type=="file"){
//如果类型为文件,则删除之
unlink($path."/".$file);
}
if($type=="dir"){
//如果类型为文件夹,则级联删除
rmdir_r($path."/".$file);
}
}
closedir($handle);
rmdir($path);
}
rmdir_r($path);
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php删除一个路径下的所有文件夹和文件的方法
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用. 也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作. 用到的函数: scandir($path) 遍历一个文件夹所有文件并返回数组. unlink($filename) 删除文件. r
-
PHP使用mkdir创建多级目录的方法
本文实例讲述了PHP使用mkdir创建多级目录的方法.分享给大家供大家参考,具体如下: PHP中使用mkdir()可以创建多级目录,相比之前自己一级一级的创建,这个函数非常好用. 下面是php手册上的函数介绍: 复制代码 代码如下: bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) 返回值为bool类型. 第一个参数:必须,代表要创建的多级
-
PHP删除目录及目录下所有文件的方法详解
函数代码一:删除目录及目录下的所有文件 复制代码 代码如下: //循环删除目录和文件函数function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle ) ) ) {if ( $item != "." && $item != ".." ) {if ( is_
-
php删除文件夹及其文件夹下所有文件的函数代码
复制代码 代码如下: <? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deld
-
PHP递归创建多级目录
我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个"父目录不存在"的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目
-
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
先看一下代码 复制代码 代码如下: <? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else
-
php创建多级目录的方法
本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: <?php /* 写出一个能创建多级目录的PHP函数 */ function createdirlist($path,$mode){ if (is_dir($path)){ //判断目录存在否,存在不创建 echo "目录'" . $path . "'已经存在"; //已经存在则输入路径 }else{ //不存在则创建目录 $re=mkdir($path,$mode,true);
-
PHP删除指定目录中的所有目录及文件的方法
本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand
-
PHP创建多级目录的两种方法
PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false 函数mkdir有四个参数: path:要创建的目录的名称 mode:权限.默认是0777(最大权限) recursive:设置是否可以创建多级目录(true:可,false:不可) context:文件句柄的环境.context是可修改流的行为的一套选项(很少用到) 下面给大家介绍php创建多级目录的两种方法,具体详情如下所示: 1.使用递归的思想 function mkdirs_2($path){
-
PHP创建/删除/复制文件夹、文件
学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy).自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下. 在说该函数之前,先介绍一下使用PHP创建/删除文件夹.文件等知识. 1.创建文件夹 <?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 if(!file_exists("d:/mydir")) { if(mkdir("
-
php创建多级目录完整封装类操作方法
创建多级目录函数中调用创建指定下的指定文件的函数: public function create_dir($dir,$mode=0777) { return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir, $mode)); } 创建指定路径下的指定文件,string 需要包含文件名和后缀path(需要包含文件名和后缀),booleanover_write 是否覆盖文件,int 设置时间.默认是当前系统时间time
随机推荐
- 用shell抽取,更新db2的数据
- EF 配置Oracle数据库的具体操作方法
- angular.js之路由的选择方法
- 深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
- 在Swift中使用Objective-C编写类、继承Objective-C类
- iOS应用开发中UIScrollView滚动视图的基本用法总结
- JS去除重复并统计数量的实现方法
- 坏狼的PHP学习教程之第1天
- C语言中数据结构之链式基数排序
- js加入收藏以及使用Jquery更改透明度
- ajax实现数据删除、查看详情功能
- 我的一些关于web标准的思考笔记(一)
- 桑塔纳路考的注意事项小结(国内外)第1/2页
- Ruby语法笔记
- 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
- mysql误删root用户或者忘记root密码解决方法
- 扩展jquery实现客户端表格的分页、排序功能代码
- jQuery EasyUI Pagination实现分页的常用方法
- 多等级reflect acl 配置实例
- VC定制个性化的MessageBox解决方法
