php操作文件夹之删除整个文件夹或清空文件夹内容

由于业务需求需要操作文件夹,才有了这篇博客的诞生

  • 环境 :lnmp1.6 + php 7
  • 思路:
因为php只能删除空文件夹和删除文件,所以思路就是先清空文件夹内容再删除文件夹本身
  • 核心方法:
	/**
     * 操作文件夹
     * addtime 2020年7月17日
     * @param [type] $dirname 文件夹路径
     * @param boolean $self  是否删除文件夹本身[true是 false否] 具体看需求
     * @return void
     */
    public function do_rmdir($dirname, $self = false) 
    {
        # 检查文件或目录是否存在
        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;
            }
            # 进行文件删除
            $this->do_rmdir($dirname . '/' . $entry);
          }
        }
        # 关闭目录
        $dir->close();
        # 是否删除本身文件夹
        $self && rmdir($dirname);
        # 成功返回
        return ['code' => 200];
    }
  • 进行调用:
	$clear = $this->do_rmdir(public_path(). "/qrcodes/");
	if($clear['code'] == 200){
		# code...
	}
  • 有用的小伙伴帮忙点个赞喔~

猜你喜欢

转载自blog.csdn.net/qq_15957557/article/details/107415121