正文  电脑教程 > 服务器教程 >

PHP如何实现批量清空删除指定文件夹所有内容

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

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

cleancache.php:

<?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);
}