先看讀取
function read_csv($file)
{
setlocale(LC_ALL,'zh_CN');//linux系統下生效
$data = null;//返回的文件數據行
if(!is_file($file)&&!file_exists($file))
{
die('文件錯誤');
}
$cvs_file = fopen($file,'r'); //開始讀取csv文件數據
$i = 0;//記錄cvs的行
while ($file_data = fgetcsv($cvs_file))
{
$i++;
if($i==1)
{
continue;//過濾表頭
}
if($file_data[0]!='')
{
$data[$i] = $file_data;
}
}
fclose($cvs_file);
return $data;
}
在看寫入
function createcsv($csv_body)
{
// 頭部標題
$csv_header = array('sku','我們自己的成本價','京東自己的銷售價','對比結果');
/**
* 開始生成
* 1. 首先將數組拆分成以逗號(注意需要英文)分割的字符串
* 2. 然後加上每行的換行符號,這裏建議直接使用PHP的預定義
* 常量PHP_EOL
* 3. 最後寫入文件
*/
// 打開文件資源,不存在則創建
$des_file = 'd:/res.csv';
$fp = fopen( $des_file,'a');
// 處理頭部標題
$header = implode(',', $csv_header) . PHP_EOL;
// 處理內容
$content = '';
foreach ($csv_body as $k => $v) {
$content .= implode(',', $v) . PHP_EOL;
}
// 拼接
$csv = $header.$content;
// 寫入並關閉資源
fwrite($fp, $csv);
fclose($fp);
}
關於中文讀取亂碼 我另外一篇文章有處理。請大家留心。