| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: Administrator
 
-  * Date: 2022/8/10
 
-  * Time: 17:23
 
-  */
 
- namespace file;
 
- class CsvHelper
 
- {
 
-     /**
 
-      * 解析csv
 
-      * @param $filepath [文件完整路径]
 
-      * @return array [返回二维数组,解析结果]
 
-      */
 
-     public static function parse_csv($filepath)
 
-     {
 
-         $handle = fopen($filepath, 'r');//只读方式打开,将文件指针指向文件头]
 
-         $out = array();
 
-         $n = 0;
 
-         while ($data = fgetcsv($handle, 10000)) {
 
-             $num = count($data);
 
-             for ($i = 0; $i < $num; $i++) {
 
-                 $row = mb_convert_encoding($data[$i], "UTF-8", "GBK");
 
-                 $out[$n][$i] = $row;
 
-             }
 
-             $n++;
 
-         }
 
-         fclose($handle); //关闭指针
 
-         return $out;
 
-     }
 
-     /**
 
-      * 导出csv
 
-      * @param $titles [标题-数组]
 
-      * @param $data [内容-二维数组]
 
-      * @param string $filename [文件名]
 
-      */
 
-     public static function export_csv($titles, $data, $filename = "")
 
-     {
 
-         if (empty($filename)) {
 
-             $filename = date('Ymd') . '.csv';
 
-         }
 
-         $str = "";
 
-         if ($titles && is_array($titles)) {
 
-             foreach ($titles as $title) {
 
-                 $str .= (empty($str) ? "" : ",") . $title;
 
-             }
 
-             $str = iconv('utf-8', 'gb2312', $str . PHP_EOL);
 
-         }
 
-         if ($data && is_array($data)) {
 
-             foreach ($data as $line) {
 
-                 $line_str = "";
 
-                 foreach ($line as $row) {
 
-                     $row_ = mb_convert_encoding($row, "GBK", "UTF-8");
 
-                     $line_str .= (empty($line_str) ? "" : ",") . $row_;
 
-                 }
 
-                 $str .= $line_str . PHP_EOL;
 
-             }
 
-         }
 
-         header("Content-type:text/csv");
 
-         header("Content-Disposition:attachment;filename=" . $filename);
 
-         header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
 
-         header('Expires:0');
 
-         header('Pragma:public');
 
-         exit($str);
 
-     }
 
- }
 
 
  |