源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 9027|回复: 0

[PHP编程] 基于ThinkPHP删除目录及目录文件的函数代码

[复制链接]

3096

主题

3497

帖子

13万

金币

超级版主

Rank: 8Rank: 8

积分
270466
发表于 2020-12-10 18:56:22 | 显示全部楼层 |阅读模式

代码实现效果:

1、删除目录及目录下所有的文件

2、删除目录下的所有文件但目录结构保留

3、删除指定文件

代码如下:

  1. /**
  2. +-----------------------------------------------------------------------------------------
  3. * 删除目录及目录下所有文件或删除指定文件
  4. +-----------------------------------------------------------------------------------------
  5. * @param str $path  待删除目录路径
  6. * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
  7. +-----------------------------------------------------------------------------------------
  8. * @return bool 返回删除状态
  9. +-----------------------------------------------------------------------------------------
  10. */
  11. function delDirAndFile($path, $delDir = FALSE) {
  12.   if (is_array($path)) {
  13.     foreach ($path as $subPath)
  14.       delDirAndFile($subPath, $delDir);
  15.   }
  16.   if (is_dir($path)) {
  17.     $handle = opendir($path);
  18.     if ($handle) {
  19.       while (false !== ( $item = readdir($handle) )) {
  20.         if ($item != "." && $item != "..")
  21.           is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
  22.       }
  23.       closedir($handle);
  24.       if ($delDir)
  25.         return rmdir($path);
  26.     }
  27.   } else {
  28.     if (file_exists($path)) {
  29.       return unlink($path);
  30.     } else {
  31.       return FALSE;
  32.     }
  33.   }
  34.   clearstatcache();
  35. }
复制代码


这个函数和unlink有什么不一样?如果知道要删除的是一个文件可以直接使用unlink函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-4-17 14:55 , Processed in 0.032907 second(s), 20 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明