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";
?>