戻る

CSVファイルにデータを書き出す(参考)

fwrite()関数 fputs()関数

CSVファイルとしてデータを書き出す場合もfwrite()関数やfputs()関数を使います。ポイントは「どのようにして各データをカンマで区切るか?」です。例1では、単純な文字列処理によって、個々のデータとカンマを1つの文字列に結合しています。一方、例2では各データが配列に格納されており、implode()関数を使って、それらをカンマ区切りで1つの文字列に結合しています。いずれの場合も、最終的にはCSVファイルの1行を1つの文字列として、fputs()関数でファイルに書き込んでいます。

PHP

<?php
header("Content-type: text/plain; charset=shift-js");

if(!$fp = @fopen("filetest.csv","w")){
	echo "ファイルを開けませんでした!";
	exit();
}

//例1: 書き込む行全体を文字列として作成
$data = "1" . "," . "ブラジル" . "," . "南米" . "," . "1630" . "," . "\r\n";

//例2: 書き込むデータが配列である場合
$arraydat[0] = "2";
$arraydat[1] = "イタリア";
$arraydat[2] = "ヨーロッパ";
$arraydat[3] = "1550";
$data .= implode(",", $arraydat) . "\r\n";

$data = mb_convert_encoding($data, "shift_jis","utf-8");

fputs($fp, $data);

fclose($fp);

readfile("filetest.csv");
?>

inserted by FC2 system