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删除目录及目录下所有文件的方法详解
函数代码一:删除目录及目录下的所有文件 复制代码 代码如下: //循环删除目录和文件函数function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle ) ) ) {if ( $item != "." && $item != ".." ) {if ( is_
-
PHP使用mkdir创建多级目录的方法
本文实例讲述了PHP使用mkdir创建多级目录的方法.分享给大家供大家参考,具体如下: PHP中使用mkdir()可以创建多级目录,相比之前自己一级一级的创建,这个函数非常好用. 下面是php手册上的函数介绍: 复制代码 代码如下: bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) 返回值为bool类型. 第一个参数:必须,代表要创建的多级
-
PHP创建多级目录的两种方法
PHP针对目录的创建,有一个专门的函数mkdir():成功,返回true,失败,返回false 函数mkdir有四个参数: path:要创建的目录的名称 mode:权限.默认是0777(最大权限) recursive:设置是否可以创建多级目录(true:可,false:不可) context:文件句柄的环境.context是可修改流的行为的一套选项(很少用到) 下面给大家介绍php创建多级目录的两种方法,具体详情如下所示: 1.使用递归的思想 function mkdirs_2($path){
-
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创建多级目录完整封装类操作方法
创建多级目录函数中调用创建指定下的指定文件的函数: 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
-
PHP递归创建多级目录
我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个"父目录不存在"的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目
-
php创建多级目录的方法
本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: <?php /* 写出一个能创建多级目录的PHP函数 */ function createdirlist($path,$mode){ if (is_dir($path)){ //判断目录存在否,存在不创建 echo "目录'" . $path . "'已经存在"; //已经存在则输入路径 }else{ //不存在则创建目录 $re=mkdir($path,$mode,true);
-
PHP创建/删除/复制文件夹、文件
学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy).自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下. 在说该函数之前,先介绍一下使用PHP创建/删除文件夹.文件等知识. 1.创建文件夹 <?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 if(!file_exists("d:/mydir")) { if(mkdir("
-
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删除指定目录中的所有目录及文件的方法
本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand
-
php删除一个路径下的所有文件夹和文件的方法
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用. 也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作. 用到的函数: scandir($path) 遍历一个文件夹所有文件并返回数组. unlink($filename) 删除文件. r
随机推荐
- nginx 多站点配置方法集合
- 腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
- Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
- js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
- file控件选择上传文件确定后触发的js事件是哪个
- php 代码优化的42条建议 推荐
- php生成略缩图代码
- MySql中把一个表的数据插入到另一个表中的实现代码
- Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
- PHP Session变量不能传送到下一页的解决方法
- Js与Jq获取浏览器和对象值的方法
- Sqlserver中char,nchar,varchar与Nvarchar的区别分析
- Select count(*)、Count(1)和Count(列)的区别及执行方式
- 深入理解Android中View绘制的三大流程
- 浅谈java实现重载的方法
- jquery 校验中国身份证号码实例详解
- 深入理解javascript作用域和闭包
- android自定义view之实现日历界面实例
- C#中简单的装箱操作实例分析
- Php header()函数语法及使用代码