php利用递归实现删除文件目录的方法

直接删除目录,如果是空目录是可以删除,如果不是空目录,这时候只能先删除目录里面的文件,然后再删除目录。我封装了个删除函数,然后直接调用这个函数。喜欢的可以直接拿去用,编码是gbk的,使用时候注意下编码。

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/9/10 0010
 * Time: 20:27
 */
//删除文件,先删除文件内部的文件,再删除文件夹
header("Content-type: text/html; charset=gbk");
function deldir($dir){
 $dh=opendir($dir);
 while($file=readdir($dh)){
 if($file!="." && $file!=".."){//判断是不是本目录和上级目录
 if(!is_dir($dir."/".$file)){
  unlink($dir."/".$file);
 }else{
  //递归
  deldir($dir."/".$file);
 }
 }
 }
 closedir($dh);
 if(rmdir($dir)){
 return true;
 }else{
 return false;
 }
 }
 //删除函数结束
 if(deldir("test")){
 echo '删除文件成功';
 die();
 }else
 echo '删除文件失败';
 die();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

为大家推荐一个关于php递归操作的精彩专题:php递归操作

(0)

相关推荐

  • php fread读取文件注意事项

    php fread函数介绍 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件. fread()实例: <?php $file = "data.txt"; $fh = fopen($file, "rt

  • php版微信公众账号第三方管理工具开发简明教程

    本文讲述了php版微信公众账号第三方管理工具开发方法.分享给大家供大家参考,具体如下: 最近在捣鼓微信公共平台提供的API,等确实一个获取用户信息的API. 所以没有办法,只能自己去获取,手动填写当然可以解决问题,当然编程不就是为了让生活变的更简单么? 当然,远程抓取微信公共平台数据的想法就油然而生,当然第一个想到了CURL. CURL可以远程提交表达,我感觉微信是提议让我们怎么的,只要不是恶意刷接口,就不会出现验证码. 主要注意的几个问题: ① 远程登录接口是时候的HTTPS协议. ② 登录成

  • 中高级PHP程序员应该掌握哪些技术?

    本文把php程序员划分为中.高级程序员两大类程序员,并针对这两大程序员应具备的技能进行分类探索. 中级PHP程序员  1.Linux  能够流畅的使用Shell脚本来完成很多自动化的工作:awk/sed/perl 也操作的不错,能够完成很多文本处理和数据统计等工作:基本能够安装大 部分非特殊的Linux程序(包括各种库.包.第三方依赖等等,比如MongoDB/Redis/Sphinx/Luncene/SVN之类的):了解基 本的Linux服务,知道如何查看Linux的性能指标数据,知道基本的Li

  • php使用CURL模拟GET与POST向微信接口提交及获取数据的方法

    本文实例讲述了php使用CURL模拟GET与POST向微信接口提交及获取数据的方法.分享给大家供大家参考,具体如下: php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个: Get提交获取数据 /** * @desc 获取access_token * @return String access_token */ function getAccessToken()

  • PHP接收App端发送文件流的方法

    本文实例讲述了PHP接收App端发送文件流的方法.分享给大家供大家参考,具体如下: 解决思路: 1. 客户端多张图片进行循环上传,同时附带参数,并用一定规则组合生产数据流(图片数据放在最后) 2. 使用数据流进行传输,php服务端用file_get_content('php://input')进行接收 3. 传输完毕后将数据流按照规则分割,取出最后的图片数据,并写入图片文件 示例代码: 以下代码是发送单张图片和参数PHP文件,多张图片可循环调用. <?php /* curl_post.php *

  • 轻松掌握php设计模式之访问者模式

    访问者模式解决的问题 在我们的代码编写过程当中,经常需要对一些类似的对象添加一些的代码,我们以一个计算机对象打印组成部分为例来看下: /** * 抽象基类 */ abstract class Unit { /** *获取名称 */ abstract public function getName(); } /** * Cpu类 */ class Cpu extends Unit { public function getName() { return 'i am cpu'; } } /** *

  • 关于php fread()使用技巧

    说明 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. 返回所读取的字符串,如果出错返回 FALSE. 复制代码 代码如下: <?php // get contents of a file into a

  • php版微信公众平台之微信网页登陆授权示例

    本文实例讲述了php版微信公众平台之微信网页登陆授权.分享给大家供大家参考,具体如下: 微信公众平台实现微信网页登陆授权开发其实是非常的简单了,因为官方的参考程序了,下面小编就看了一站长根据官方参考做的一个网页登陆授权例子,大家可看看. 文件1:index.php //换成自己的接口信息 $appid = 'XXXXX'; header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&r

  • php利用递归实现删除文件目录的方法

    直接删除目录,如果是空目录是可以删除,如果不是空目录,这时候只能先删除目录里面的文件,然后再删除目录.我封装了个删除函数,然后直接调用这个函数.喜欢的可以直接拿去用,编码是gbk的,使用时候注意下编码. <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/9/10 0010 * Time: 20:27 */ //删除文件,先删除文件内部的文件,再删除文件夹 header("Content-type: tex

  • 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!=".&q

  • C#实现安全删除文件目录的方法

    本文实例讲述了C#实现安全删除文件目录的方法.分享给大家供大家参考.具体分析如下: 1. 创建文件夹 (简单,没多考虑) 2. 删除所建文件夹:为防止删除过程中有其他进程引用该文件夹中文件,增加了对此意外情况的考虑. 在本例中,若删除过程中被其他进程引用,等待并循环5次尝试再次删除操作.长时间无法被删除,则删除文件目录失败 using System; using System.IO; namespace Retry { class Program { static void Main(strin

  • 利用npm 安装删除模块的方法

    npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [npm install -g xxx]利用npm安装全局模块xxx: 本地安装时将模块写入package.json中: [npm install xxx]安装但不写入package.json: [npm install xxx –save] 安装并写入package.json的"dependencies"中: [npm install xxx –save-dev]安装并写入packa

  • 易语言删除文件目录的方法

    计算机应用软件的诞生,就是为了方便用户的日常工作和生活需求,使用软件操作计算机完成一系列的工作流程.那么,你知道易语言如何删除目录吗?今天,我们的小编就带大家一起学习. 易语言如何删除目录: 易语言如何删除目录?为了配合此次程序的测试,我们事先创建一个名叫"baidujingyan"的文件夹作为示例,大家可以自行创建自定义的文件夹.如图: 然后,测试文件夹创建完毕之后,打开"易语言"主程序,新建"Windows窗口程序"并点击确定按钮,进入&qu

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • JAVA利用递归删除文件代码实例

    这篇文章主要介绍了JAVA利用递归删除文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天需要用到删除文件的方法,一年前这个时候也写过当时,写的是一个文件夹下面不存在其他文件夹,只存在子文件.但是那时不知道存在什么情况,总是出现文件删不掉,虽然到现在也不知道什么原因,猜测 是什么流被占用吧[我记得当时流都关了的... 今天是利用递归删除,发现递归真的蛮好用的,就是有时效率太低...虽然简单但是也贴上来吧 public boolean

  • php递归调用删除数组空值元素的方法

    本文实例讲述了php递归调用删除数组空值元素的方法.分享给大家供大家参考.具体如下: 该函数可以删除数组里的所有空值元素,包含空字符串,空的数组等等. function array_remove_empty($arr){ $narr = array(); while(list($key, $val) = each($arr)){ if (is_array($val)){ $val = array_remove_empty($val); // does the result array conta

  • 利用jquery给指定的table动态添加一行、删除一行的方法

    $("#mytable tr").find("td:nth-child(1)") 1表示获取每行的第一列 $("#mytable tr").find("td:nth-child(3)") 3表示获取每行的第三列 今天在项目中,刚好用到给指定的table添加一行.删除一行,就直接找google,搜出来的东西不尽如人意,不是功能不好就是千篇一律,简直浪费时间还不讨好,于是乎就自己动手封装个,现就把代码分享出来,避免大伙重复造轮子,

  • php7基于递归实现删除空文件夹的方法示例

    本文实例讲述了php7基于递归实现删除空文件夹的方法.分享给大家供大家参考,具体如下: php版本7.0.4 代码如下: <?php $path = 'd:/'; rmDir_1($path); function rmDir_1($path) { $files = scandir($path); // 删除当前目录和上一级目录 foreach($files as $key => $file) { if ( $file == '.' || $file == '..') { unset($file

随机推荐