PHP实现批量清空删除指定文件夹所有内容的方法

时间:2022-09-06 09:22:01

本文实例讲述了PHP实现批量清空删除指定文件夹所有内容的方法。分享给大家供大家参考,具体如下:

cleancache.php:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
// 清文件缓存
$dirs = array(
  realpath(dirname(__FILE__) . '/../data/cache_data'),
  realpath(dirname(__FILE__) . '/../data/cache_file'),
  realpath(dirname(__FILE__) . '/../data/cache_view')
);
// 清理缓存
foreach($dirs as $dir) {
  do_rmdir($dir, false);
  echo "<div style='border:2px solid green; background:#f1f1f1; padding:20px;margin:20px;width:800px;font-weight:bold;color:green;text-align:center;'>\"" . $dir . "\" have been cleaned clear! </div>";
}
/**
 * 清空/删除 文件夹
 * @param string $dirname 文件夹路径
 * @param bool $self 是否删除当前文件夹
 * @return bool
 */
function do_rmdir($dirname, $self = true) {
  if (!file_exists($dirname)) {
    return false;
  }
  if (is_file($dirname) || is_link($dirname)) {
    return unlink($dirname);
  }
  $dir = dir($dirname);
  if ($dir) {
    while (false !== $entry = $dir->read()) {
      if ($entry == '.' || $entry == '..') {
        continue;
      }
      do_rmdir($dirname . '/' . $entry);
    }
  }
  $dir->close();
  $self && rmdir($dirname);
}

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