fputcsv()で1レコード1行になるように書き込みたい
PHPでメールフォームを作成しており、ログをCSVファイルで取ろうと考えています。
下記のようなコードで作成してみたのですが、送信すると
[1行目]あああ
[2行目]いいい
[3行目]ううう
という感じで改行して記録されてしまいます。
これを、
[1行目]あああ,いいい,ううう
[2行目]かかか,ききき,くくく
という形で、1レコード1行になるように記録できないでしょうか。
どうぞよろしくお願いします。
---以下コード---
<?php
//フォームの値を取得
if ($_SERVER["REQUEST_METHOD"] == "POST"){
foreach ($_POST as $k => $v){
//「magic_quotes_gpc=On」のときはエスケープ解除
if (get_magic_quotes_gpc()){
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
//言語コード指定
mb_language('Japanese');
mb_internal_encoding("SJIS");
//保存ファイル
$file_name = "file.csv";
//配列を作成
$array = array($name , $phone , $add);
//ファイルを開く
$file = fopen($file_name, "a+") or die("OPENエラー $file_name");
//書き込み
if (is_array($array)){
foreach($array as $list){
fputcsv($file, split(',',$list));
}
}
else {
echo "<p>書き込みエラー</p>";
}
//ファイルを閉じる
fclose($file);
?>
<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">
<fieldset><legend>フォーム</legend>
名前:<input name="name" id="name" type="text" size="40" value="" /><br />
電話:<input name="phone" id="phone" type="text" size="40" value="" /><br />
住所:<textarea name="add" id="add" cols="40" rows="2"></textarea><br />
<input name="submit" type="submit" value="送信" />
</fieldset>
</form>