ここから本文です

phpについてです。 ファイルに保存する際に、現在時刻の日付文字列が””で囲われて...

kan********さん

2014/9/2518:25:14

phpについてです。
ファイルに保存する際に、現在時刻の日付文字列が””で囲われてしまいます(”を空文字に置き換えてもそうなります)。
そういうものなのでしょうか?

それとも、””で囲われないようにする方法はありますでしょうか?
date('Y/m/d H:i:s')で現在時刻を取得し、
リスト$listに入れて、
fputcsv($fp, $list);
で書き込みます。

閲覧数:
88
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shi********さん

2014/9/2518:46:49

fputcsvだとそういう仕様ですね。

(例)
$fp = fopen('text.csv', 'w');
fputcsv($fp, array('aaa', 'bbb ccc', 'ddd'));
fclose($fp);

(書き込まれたデータ)
aaa,"bbb ccc",ddd


RFC4180では「改行(CRLF)、ダブルクォーテーション、カンマを含むフィールドは、ダブルクォーテーションで囲むべきである。」となってはいますが、それ以外の場合に「囲んではいけない」とはなっていません。空白で区切ってしまう一部アプリもありますから順当な仕様だと思います。

fputcsvで書き込むということは「CSVファイルとして」取り扱うのですから、二重引用符で囲まれていても問題ないです(二重引用符は取り除かれます)。

(前述のスクリプトで書き込んだデータを読み込む)
$fp = fopen('text.csv', 'r');
$line = fgetcsv($fp);
print_r($line);

質問した人からのコメント

2014/9/26 10:09:50

そうなんですね。ありがとうございました。
空白部分を別の文字(-など)に変えたら""で囲われなくなりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる