php批量复制或删除文件自定义函数-php笔记

沉梦小哥哥
预计阅读时长 22 分钟
位置: 首页 php笔记 正文

以下是平时经常会用到的处理文件需求,记录下来方便查阅,长期更新中==

    // 定义目录分隔符
    !defined('DS') && define('DS', DIRECTORY_SEPARATOR);
    
    /**
         * 批量复制文件 By 沉梦 857285711
         * @param dir 来源目录
         * @param savedir 保存目录
         */
        private function copyFiles($dir, $savedir)
        {
            $files = scandir($dir);
            if (count($files) > 0) {
                foreach ($files as $filename) {
                    if ($filename === "." || $filename === "..") {
                        continue;
                    }
                    if (is_dir($dir . $filename)) {
                        if (!is_dir($savedir . $filename)) {
                            @mkdir($savedir . $filename);
                            @chmod($savedir . $filename, 0755);
                        }
                        $this->copyFiles($dir . $filename . DS, $savedir . DS . $filename . DS);
                    } else {
                        @copy($dir . $filename, $savedir . $filename);
                    }
                }
                return true;
    
            }
            return false;
        }

    /**
     * 批量删除文件 By 沉梦 857285711
     * @param dir 需要批量删除文件的目录
     */
    private function delFiles($dir)
    {
        $files = scandir($dir);
        if (count($files) > 0) {
            foreach ($files as $filename) {
                if ($filename === "." || $filename === "..") {
                    continue;
                }
                if (is_dir($dir . $filename)) {
                    $this->delFiles($dir . $filename . DS);
                } else {
                    @unlink($dir . $filename);
                    @rmdir($dir);
                }
            }
            return true;

        }
        return false;
    }



-- 展开阅读全文 --
头像
宝塔SESSION更新不及时(宝塔bug记录1)
« 上一篇 2020-10-15
腾讯云/阿里云Linux之centos 7.0/7.x搭建squid代理服务器完美详细教程 附创建验证用户教程
下一篇 » 2020-11-10
取消
微信二维码
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]