/** * 读取csv文件数据 * @param string $file_url * @param boolean $csv_header TRUE:存在表头 FALSE:不存在表头 * @return array */ protected function read_file($file_url = '', $csv_header = TRUE) { if(!is_file($file_url)) { return FALSE; } $format_data = array(); //最终返回的数据 $fp = fopen($file_url, 'r'); if($fp) { $i = 0; //在linux系统下,会出现乱码问题,加入以下一行代码,应该可以解决 setlocale(LC_ALL,array('zh_CN.gbk','zh_CN.gb2312','zh_CN.gb18030')); while ($data = fgetcsv($fp)) { $i++; if(($i == 1) && $csv_header) continue; /* 第一行抬头不算*/ $field_data = array(); for($j = 0; $j < count($data); $j++) { $field_data[] = iconv('GBK','UTF-8',trim($data[$j]));//进行转码 //$field_data[] = $this->decode_utf8(trim($data[$j]));//进行转码 } if(!empty($field_data) && is_array($field_data)) { $format_data[] = $field_data; } } } fclose($fp); return $format_data; }