どう説明すればいいかわからなくて、まずコードを見てください。
このように、csvのデータが常に先頭行から追記していくようにしたいですが、今このコードですと先頭行に上書きされてしまいます。
試したこと:モードをa a+ w w+ 全部やってみましたが、特に変わらなかったです。
そしてfwriteの1111を$POST['moji']にしたらエラーがでます。
このページ以外にもフォームページが一つあります。
順番としてはフォームから入力→送信→メール受信(メール本文にurlがありクリックするとcsvダウンロードされる、メールにcsvファイルが添付されてる)→csvを開く→データに日付と時間があり、先頭行から新しい入力したものが追記される。(入力フォームで入力したものがcsvに書かれる)
説明が下手ですみません。
今のcsvデータでは
1 12345(入力したもの) 日付 時間
2 1111
のようになっています。
その1111のところを入力した古いデータにしたいです。
そして新しいデータが上書きじゃなく、先頭行に追記するようにしたいです。
よろしくお願いいたします。
php
1$ShiftJIS = array($_POST['moji'], date("Y年/m月/d日 H時i分s秒")); 2 mb_convert_variables('Shift_JIS', 'UTF-8', $ShiftJIS); 3 4chmod('../csv', 0766); 5 6$csv = fopen('text.csv', 'a'); 7if (flock($csv, LOCK_EX)) { 8 9$context = fread($csv, filesize('text.csv')); 10 11ftruncate($csv, 0); 12 13rewind($csv); 14 15 16 17fwrite($csv, $context); 18fputcsv($csv, $ShiftJIS); 19fwrite($csv, '1111' . "\n"); 20 21 22flock($csv, LOCK_UN); 23} 24 25fclose($csv); 26chmod('../csv',0755 ); 27
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。