PHP進行讀取CSV文件數據和生成CSV文件

先看讀取

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);
}
關於中文讀取亂碼 我另外一篇文章有處理。請大家留心。
發佈了76 篇原創文章 · 獲贊 25 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章