温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-29 16:48:13 来源:亿速云 阅读:209 作者:Leah 栏目:大数据

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文件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI