专栏首页鹿苑PHP unlink与rmdir删除目录及目录下所有文件实例代码

PHP unlink与rmdir删除目录及目录下所有文件实例代码

在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.

函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:

class shanchu {

//循环目录下的所有文件

function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” )

{

if ( $handle = opendir( “$dirName” ) ) {

while ( false !== ( $item = readdir( $handle ) ) ) {

if ( $item != “.” && $item != “..” ) {

if ( is_dir( “$dirName/$item” ) ) {

delFileUnderDir( “$dirName/$item” );

} else {//开源代码phpfensi.com

if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”;

}

}

}

closedir( $handle );

}

}

}

假设需要删除一个名叫”upload”目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:

<?php delFileUnderDir( ‘upload');?>

php删除所有目录,代码如下:

function deltree($pathdir)

{

echo $pathdir;//调试时用的

if(is_empty_dir($pathdir))//如果是空的

{

rmdir($pathdir);//直接删除

}

else

{//否则读这个目录,除了.和..外

$d=dir($pathdir);

while($a=$d->read())

{

if(is_file($pathdir.'/'.$a) && ($a!='.') &amp;&amp; ($a!='..')){unlink($pathdir.'/'.$a);}

//如果是文件就直接删除

if(is_dir($pathdir.'/'.$a) && ($a!='.') &amp;&amp; ($a!='..'))

{//如果是目录

if(!is_empty_dir($pathdir.'/'.$a))//是否为空

{//如果不是,调用自身,不过是原来的路径+他下级的目录名

deltree($pathdir.'/'.$a);

}

if(is_empty_dir($pathdir.'/'.$a))

{//如果是空就直接删除

rmdir($pathdir.'/'.$a);

}

}

}

$d->close();

echo "必须先删除目录下的所有文件";//我调试时用的

}

}

function is_empty_dir($pathdir)

{

//判断目录是否为空

$d=opendir($pathdir);

$i=0;

while($a=readdir($d))

{

$i++;

}

closedir($d);

if($i>2){return fa/

/lse;}

else return true;

}

PHP删除目录及目录下所有文件,代码如下:

<?php

//循环删除目录和文件函数

function delDirAndFile( $dirName )

{

if ( $handle = opendir( “$dirName” ) ) {

while ( false !== ( $item = readdir( $handle ) ) ) {

if ( $item != “.” &amp;&amp; $item != “..” ) {

if ( is_dir( “$dirName/$item” ) ) {

delDirAndFile( “$dirName/$item” );

} else {

if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”;

}

}

}

closedir( $handle );

if( rmdir( $dirName ) )echo “成功删除目录: $d/

/irName<br />n”;

}

}

//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:

delDirAndFile( ‘upload');

?>

以上所述是小编给大家介绍的PHP unlink与rmdir删除目录及目录下所有文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

原文链接:https://www.blog.17ti.com/php/4023.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP递归实现文件夹的复制、删除、查看大小操作示例

    本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。分享给大家供大家参考,具体如下:

    用户8449980
  • PHP递归实现文件夹的复制、删除、查看大小操作示例

    本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。分享给大家供大家参考,具体如下: PHP虽然提供了 filesize、copy、unlink 等文...

    用户2323866
  • 3分钟短文 | PHP 删除目录下所有的文件,这3种写法哪个有bug?

    作为服务器端编程语言,PHP当然具备了操作系统文件的能力。今天我们来说一下使用PHP如何删除某个目录下的所有文件。

    程序员小助手
  • 使用Perl的File::Path模块删除非空文件夹

    不过那个只是针对单个的文件,使用unlink方法就可以了(未测试过只读文件删除的情况- -!),那如果要删除指定的一个文件夹,有三种方案:

    meteoric
  • php删除一个路径下的所有文件夹和文件的方法

    / php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。

    用户8664418
  • python如何删除文件、目录

    本文讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下:

    砸漏
  • PHP中的文件系统函数(二)

    这次我们来学习的是一些不是太常用,但却也非常有用的一些函数。它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了。它们都是 PHP 中文件系统相关操作...

    硬核项目经理
  • Nginx-helper纯代码版,文章评论发布自动清理Fastcgi缓存

    摘 要 张戈博客之前分享过Nginx开启fastcgi静态缓存加速的教程,文中也提到了WordPress对应的最佳配套插件:Nginx-Helper。本文分享...

    张戈
  • python 删除文件、清空目录的方法总

    os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。

    py3study
  • Mac递归删除指定目录及其子目录下所有符合给定命名规则的文件

    只需要把.orig替换成您想要的后缀名即可。上面这行代码就是删除所有的后缀名为orig的文件。

    太阳影的社区
  • unlink 和 remove 的区别

    Linux下开发的时候,会经常使用unlink来删除文件的,而用C的时候,经常用remove删除文件. 这两者的去区别通过man手册发现: 

    程序手艺人
  • WP Super Cache静态缓存插件纯代码版(兼容多域名网站)

    中午,小熊发来一篇来自歧路亡羊博客的精彩教程:《wordpress 利用代码来实现缓存》。粗略看了一下,发现这个代码在几个月之前我就用过,不过由于此代码无法区分...

    张戈
  • 简明PHP进阶【6-目录处理】

    上一节我们讲了在PHP中操作文件,但假设我们需要按日期创建日志目录,按用户创建上传图片等,我们是不是得先建立分类目录呢?在实际的开发过程中,操作目录也是我们需要...

    Lemon黄
  • php面试笔记(7)-php基础知识-文件及目录处理考点

    在面试中,考官往往喜欢基础扎实的面试者,而文件及目录处理相关的考点,往往是大家容易忽视的一个点,今天冷月就来帮各位小伙伴们梳理一下,在面试中文件及目录处理相关的...

    学长冷月
  • [780]python删除一个文件或文件夹

    os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。这时需用用os.rmdir()来删除。

    周小董
  • 实现WordPress提交评论的时删除该页面的WP-Super-Cache缓存的方法

    这篇文章依然是围绕缓存问题展开的,lnmp 环境下的 WordPress 使用 WP-Super-Cache 插件,若要开启 mod_rewrite 缓存模式,...

    张戈
  • PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解

    本文实例讲述了PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作。分享给大家供大家参考,具体如下:

    用户8664418
  • PHPCMS_V9.2任意文件上传getshell漏洞分析

    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。

    黑白天安全
  • TP5(thinkPHP框架)实现后台清除缓存功能示例

    本文实例讲述了TP5(thinkPHP框架)实现后台清除缓存功能。分享给大家供大家参考,具体如下:

    砸漏

扫码关注云+社区

领取腾讯云代金券