php中通过DirectoryIterator删除整个目录的方法

本文实例讲述了php中通过DirectoryIterator删除整个目录的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function cleanup_directory($dir) {
  foreach (new DirectoryIterator($dir) as $file) {
    if ($file->isDir()) {
      if (! $file->isDot()) {
        cleanup_directory($file->getPathname());
      }
    } else {
      unlink($file->getPathname());
    }
  }
  rmdir($dir);
}
?>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • php遍历文件夹和文件列表示例分享

    为PHP遍历目录和文件列表写了一个简单的类,并附上使用实例,大家参考使用吧 复制代码 代码如下: <?phpdefine('DS', DIRECTORY_SEPARATOR); class getDirFile{ //返回数组    private $DirArray  = array();    private $FileArray = array();    private $DirFileArray = array(); private $Handle,$Dir,$File; //获取目录

  • php通过文件流方式复制文件的方法

    本文实例讲述了php通过文件流方式复制文件的方法.分享给大家供大家参考.具体分析如下: php的stream_copy_to_stream()函数可以被用来将一个流中的数据复制到另一个.下面的代码演示了通过流的方式复制文件的代码 <?php function stream_copy($src, $dest) { $fsrc = fopen($src,'r'); $fdest = fopen($dest,'w+'); $len = stream_copy_to_stream($fsrc,$fdes

  • php不使用copy()函数复制文件的方法

    本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下: 下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php function copyfiles($file1,$file2){ $contentx =@file_get_contents($file1); $openedfile = fopen($file2, "w"); fwrite($openedfile, $contentx); fclose($o

  • PHP使用DirectoryIterator显示下拉文件列表的方法

    本文实例讲述了PHP使用DirectoryIterator显示下拉文件列表的方法.分享给大家供大家参考.具体分析如下: PHP中使用DirectoryIterator显示下拉文件列表,要遍历一个目录中的所有文件,我们可以使用DirectoryIterator,下面的例子演示了如何在页面中输出一个指定目录的文件列表 <?php echo "<select name='file'>\n"; foreach (new DirectoryIterator('c:\wamp\w

  • php从完整文件路径中分离文件目录和文件名的方法

    本文实例讲述了php从完整文件路径中分离文件目录和文件名的方法.分享给大家供大家参考.具体分析如下: basename()函数用于从路径中获得文件名 dirname()函数用于从路径中获得文件目录 <?php $full_name = 'c:\wamp\php\php.ini'; $base = basename($full_name); // $base is "php.ini" $dir = dirname($full_name); // $dir is "c:\w

  • php相对当前文件include其它文件的方法

    本文实例讲述了php相对当前文件include其它文件的方法.分享给大家供大家参考.具体分析如下: 下面的代码先获得当前文件路径,然后通过相对路径包含其它php文件,在实际使用中非常有用 <?php $currentDir = dirname(__FILE__); include $currentDir . '/functions.php'; include $currentDir . '/classes.php'; ?> 希望本文所述对大家的php程序设计有所帮助.

  • php检索或者复制远程文件的方法

    本文实例讲述了php检索或者复制远程文件的方法.分享给大家供大家参考.具体实现方法如下: <?php if(!@copy('http://someserver.com/somefile.zip','./somefile.zip')) { $errors= error_get_last(); echo "COPY ERROR: ".$errors['type']; echo "<br />\n".$errors['message']; } else

  • php中通过DirectoryIterator删除整个目录的方法

    本文实例讲述了php中通过DirectoryIterator删除整个目录的方法.分享给大家供大家参考.具体实现方法如下: <?php function cleanup_directory($dir) { foreach (new DirectoryIterator($dir) as $file) { if ($file->isDir()) { if (! $file->isDot()) { cleanup_directory($file->getPathname()); } } e

  • php删除指定目录的方法

    本文实例讲述了php删除指定目录的方法.分享给大家供大家参考.具体分析如下: 这段代码可实现递归删除子目录的功能 <?php /** * Delete a file, or a folder and its contents * (recursive algorithm) * @author Aidan Lister <aidan@php.net> * @version 1.0.3 * @param string $dirname Directory to delete * @retur

  • MySQL中查询、删除重复记录的方法大全

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as count from user_table group by title having count>1; SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Titl

  • Java中List遍历删除元素remove()的方法

    今天碰见根据条件进行list遍历remove的问题,第一时间就是简单for循环remove,只知道这么写不行,不安全,可是为什么呢?你想过吗?下面就关于List遍历remove的问题,深挖一下! 一.几种常见的遍历方式 1.普通for循环 2.高级for循环 3.iterator和removeIf 4.stream() 5.复制 6.普通for循环 --> 倒序方式 二.源码篇 1.普通for循环出错原因 public boolean remove(Object o) { if (o == nu

  • javascript中使用正则表达式删除前后空格的方法

    去掉首位空格 复制代码 代码如下: str=str.replace(/^\s+|\s+$/g,''); js正则表达式删除字符串前后空格 String.prototype.trim=function(){ var reSpace=/^\s*(.*?)\s*$/; return this.replace(reSpace,"$1″); }; 让我们分析一下第二行的正则表达式 ^ 行开始 \s* 匹配字符前面的所有空格,贪婪模式重复 (.*?) 捕获组,勉强模式重复匹配任意字符,也就是我们最终需要(去

  • centos中yum命令删除还原的补救方法介绍

    前言 yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名.yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相 关信息,检查依赖性并自动提示用户解决.yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,

  • Java非递归实现删除任意目录的方法

    最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删除目录代码没几个, 我就写了一个,递归网上一大堆, 就不粘上来了. 下面是代码非递归的方法: package demo1; import java.io.File; import java.util.ArrayList; public class Demo1 { /** * 不使用递归删除目录 *

  • WinForm中DataGridView添加,删除,修改操作具体方法

    1.添加操作,代码如下: 复制代码 代码如下: IList<SelfRun> selfRunConfigs = new List<SelfRun>();private void btnNewConfig_Click(object sender, EventArgs e){try{string _lampNo = UpDownSelfLampNo.Value.ToString();int _ctrlGpNo = Convert.ToInt16(UpDownCtrlGpCnt.Valu

  • ASP.NET Gridview 中使用checkbox删除的2种方法实例分享

    方法一:后台代码: 复制代码 代码如下: protected void btn_delete_Click(object sender, EventArgs e)    {        for (int i = 0; i <this.GridView1.Rows.Count; i++)        {            int id = Convert.ToInt32(this.GridView1.DataKeys[i].Value);            if ((this.GridV

  • C#创建IIS虚拟目录的方法

    本文实例讲述了C#创建IIS虚拟目录的方法.分享给大家供大家参考.具体分析如下: DirectoryEntry是.Net给我们的一大礼物,他的名字我们就知道他的功能--目录入口.使用过ADSI的人都知道操作IIS,WinNT这些时,我们还需要提供他们的Path,操作IIS时,这个Path的格式为: 复制代码 代码如下: IIS://ComputerName/Service/Website/Directory ComputerName:即操作的服务器的名字,可以是名字也可以是IP,经常用的就是lo

随机推荐