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