/**
* 读取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;
}
|