1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/** -------------------------------------------------------------------------------
 *   ファイルシステム:ファイルデータ書き込み:fputcsvの利用例
 *  2015.09.15 作成 yoshi of CXMedia Inc.
 * -------------------------------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");

// ファイル出力したいデータの配列
$out_ary = array (
    array(
'項目''名前''内容''備考'),
    array(
'101''TKY''東京都'),
    array(
'102''KGW','神奈川県','発信地'),
    array(
'103''CBA','千葉県')
);

// 出力先のファイル・パス設定
$filename 'data/sample_out.csv';

// ファイルオープン:writeモード 「@は、エラー表示する特殊文字」
if(!$fh = @fopen($filename,"w")){
    exit(
"ファイルが開けません。");
}
//件数カウント
$cnt '';
/* ---------------------------------------------------------------------------
 *   ファイルの書き込み:CSV形式
 * fputcsv( handle ,data_ary [,delimiter [,enclosure]]])
 *   data_ary:出力データの配列、delimiter(フィールド区切り文字)の省略:","、
 *   enclosure(フィールドを囲む文字)の省略:'"'
 * --------------------------------------------------------------------------- */
// ファイル出力したいデータの配列のfputcsvによる書き込み
foreach ($out_ary as $data_ary) {
    
$cvt_ary = array();
    
// 「UTF-8」内容コードから、ファイル「Shift_JIS」コードに変換
    
foreach($data_ary as $str){
        
$cvt_ary[] = mb_convert_encoding($str,'Shift_JIS','UTF-8');
    }
    
// CVT形式の配列出力
    
fputcsv($fh,$cvt_ary);
    
    
//件数カウントアップ
    
$cnt++;
}
// ファイルクローズ
fclose($fh);

echo 
"■出力レコード数:{$cnt}\n";
?>