千家信息网

PHP中怎么读取或导出 CSV文件

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,PHP中怎么读取或导出 CSV文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。/** * 读取CSV文件 * @param strin
千家信息网最后更新 2025年02月04日PHP中怎么读取或导出 CSV文件

PHP中怎么读取或导出 CSV文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

/** * 读取CSV文件 * @param string $csv_file csv文件路径 * @param int      $lines      读取行数 * @param int      $offset    起始行数 * @return array|bool */public function read_csv_lines($csv_file = '', $lines = 0, $offset = 0){    if (!$fp = fopen($csv_file, 'r')) {        return false;    }    $i = $j = 0;    while (false !== ($line = fgets($fp))) {        if ($i++ < $offset) {            continue;        }        break;    }    $data = array();    while (($j++ < $lines) && !feof($fp)) {        $data[] = fgetcsv($fp);    }    fclose($fp);    return $data;}/** * 导出CSV文件 * @param array $data              数据 * @param array $header_data 首行数据 * @param string $file_name     文件名称 * @return string */public function export_csv_1($data = [], $header_data = [], $file_name = ''){    header('Content-Type: application/octet-stream');    header('Content-Disposition: attachment; filename=' . $file_name);    if (!empty($header_data)) {        echo iconv('utf-8','gbk//TRANSLIT','"'.implode('","',$header_data).'"'."\n");    }    foreach ($data as $key => $value) {        $output = array();        $output[] = $value['id'];        $output[] = $value['name'];        echo iconv('utf-8','gbk//TRANSLIT','"'.implode('","', $output)."\"\n");    }}/** * 导出CSV文件 * @param array $data              数据 * @param array $header_data 首行数据 * @param string $file_name     文件名称 * @return string */public function export_csv_2($data = [], $header_data = [], $file_name = ''){    header('Content-Type: application/vnd.ms-excel');    header('Content-Disposition: attachment;filename='.$file_name);    header('Cache-Control: max-age=0');    $fp = fopen('php://output', 'a');    if (!empty($header_data)) {        foreach ($header_data as $key => $value) {            $header_data[$key] = iconv('utf-8', 'gbk', $value);        }        fputcsv($fp, $header_data);    }    $num = 0;    //每隔$limit行,刷新一下输出buffer,不要太大,也不要太小    $limit = 100000;    //逐行取出数据,不浪费内存    $count = count($data);    if ($count > 0) {        for ($i = 0; $i < $count; $i++) {            $num++;            //刷新一下输出buffer,防止由于数据过多造成问题            if ($limit == $num) {                ob_flush();                flush();                $num = 0;            }            $row = $data[$i];            foreach ($row as $key => $value) {                $row[$key] = iconv('utf-8', 'gbk', $value);            }            fputcsv($fp, $row);        }    }    fclose($fp);}

看完上述内容,你们掌握PHP中怎么读取或导出 CSV文件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 数据 内容 方法 更多 问题 束手无策 为此 内存 原因 名称 对此 技能 篇文章 经验 行业 资讯 资讯频道 路径 频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 玉林兴业网络安全保卫大队陈风运 熟悉的网络技术和应用 员工维护服务器违法吗 neo4j 关系数据库 sql数据库删除多余的实例 软件开发增值税税率3% 100万用户 网络安全 高校信息化与网络安全 长春网络安全资讯人才缺口大 mac笔记本网页找不到服务器 越剧下载软件开发 数据库安全性总结 眼镜行业软件开发是哪个 数据库清除表里的重复数据 广东交友软件开发费用 中专网络安全技术专业好吗 学软件开发项目的优点 一年级网络安全书签怎么做 软件开发技术蓝图 网络安全等级保护制度ppt 农产品检测的大数据库 网络安全拜年短信 网络安全的含义与定义 长宁区信息软件开发市场 可以购买一个关服游戏的服务器吗 北京密云新建快手数据库 石景山区现代软件开发经历 数据库原理学哪本书 闵行区新能源网络技术型号 广东礼当家互联网科技有限公司
0