ここから本文です

phpでのファイルへの書込みに関する質問です phpで文字列をcsvファイルに書き込...

vel********さん

2019/6/1121:07:47

phpでのファイルへの書込みに関する質問です

phpで文字列をcsvファイルに書き込むという
初歩の工程ですが
ファイルへの書き込み結果がおかしいです

コードを見ていただければわかりますが
文字列を変数に格納し最後に改行コードを連結させたものを
書き込み用変数に格納後
ファイルに1行だけ書き込みをしています
ファイル構成は
fileaddフォルダの中にcsvファイルとphpファイルがあります
ページを1回更新するとcsvファイルへの書込みが2度行われてしまいます

環境はXAMPPとMAMP同じ結果になります。
解決法があれば教えてください
fopenのモードを"a"にしても結果は同じでした

補足ちなみにMacのChromeです
Safariでは問題ないのですがChromeではこのような結果になります

CSVファイル,fileaddフォルダ,A&quot,変数,文字列,Prefetch,先読み

閲覧数:
23
回答数:
1
お礼:
50枚

違反報告

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

プロフィール画像

カテゴリマスター

shi********さん

2019/6/1123:30:45

chromeの先読み(prefetch)が有効になっていませんか?

http://www2.chuo-u.ac.jp/kit/service/network/prefetch.html

  • shi********さん

    2019/6/1210:28:03

    なお、

    >文字列をcsvファイルに書き込む

    という処理であれば(仕様書に「csvファイル」と書かれていれば)fputcsvを使うべきです。

    https://www.php.net/manual/ja/function.fputcsv.php

    たとえ書き込む文字列がひとつだけであっても、array($string)(もしくは [$string])のように要素がひとつだけの配列にしてfputcsvを使ってください。

    (例)
    // open&lock
    $fp = fopen('xxx.csv', 'a');
    flock($fp, LOCK_EX);
    // write
    $str = 'aaa';
    fputcsv($fp, [$str]);
    // unlock&close
    flock($fp, LOCK_UN);
    fclose($fp);

    これなら、

    $str = 'aaa,bbb
    ccc;

    のような文字列でもfgetcsvで「書き込んだとおりに」読み込めます(こういうデータを考慮して「csvファイルで」となっているかもしれない)。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

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

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

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

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

閉じる

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

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

閉じる