美文网首页
php 生成csv文件自动保存本机或服务器 2023-02-2

php 生成csv文件自动保存本机或服务器 2023-02-2

作者: 阿然学编程 | 来源:发表于2023-02-23 23:39 被阅读0次
    • 使用场景 配合PHPMailer定时自动发送邮件,定时自动发送企业微信等使用
    /**
     * 生成csv并自动保存到服务器或本地
     * @param array $data 查询的数据
     * @param array $title 标题
     * @param $file_path    保存的文件路径(如果没有请自行创建相关文件夹及目录)
     * @return bool
     */
    function sc_csv(array $data = array(), array $title = array(), $file_path)
    {
        ini_set('memory_limit', '-1'); // 设置最大内存限制为无限制
        ini_set('max_execution_time', 0); // 设置最大执行时间为无限制
    
        //打开CSV文件
        //$file = @fopen($file_path, 'a');
        $file = @fopen($file_path, 'w');
    
        if ($file) {
            foreach ($title as $v) {
                $header[] = iconv('UTF-8', 'GB2312//IGNORE', $v);
            }
            fputcsv($file, $header);
    
            $calc = 0;
            $limit = 1000;
            foreach ($data as $row) {
                $calc++;
                if ($limit == $calc) {
                    ob_flush();
                    flush();
                    $calc = 0;
                }
                foreach ($row as $t) {
                    $tarr[] = iconv('UTF-8', 'GB2312//IGNORE', $t);
                }
    
                fputcsv($file, $tarr);
                unset($tarr);
            }
            unset($data);
    
            //关闭文件
            $res = fclose($file);
    
            return $res;
        }
        return false;
    }
    
    • 调用
        public function index()
        {
            //文件要保存在本地或者服务器的路径
            $path = '../test.csv';
            //添加表头
            $header = array('Name', 'Age', 'Gender');
            //添加数据行
            $data = array(
                array('John', '25', 'Male'),
                array('Mary', '30', 'Female'),
                array('Bob', '40', 'Male')
            );
            
            if ($sc_csv($data, $header, $path) === true) {
                return '生成成功';
            };
            return '生成失败';
            exit();
        }
    

    相关文章

      网友评论

          本文标题:php 生成csv文件自动保存本机或服务器 2023-02-2

          本文链接:https://www.haomeiwen.com/subject/yuwtldtx.html