• ベストアンサー

phpメールフォームから送信されたデータをcsvで保存したい

eWeb様のphpメールフォームスクリプトデータを 参考にさせて頂いているのですが URL:http://php.eweb-design.com/1301_mail.html フォームで入力してもらってメールで送信して頂いた データをcsvなどで自動に保存できたらと思っています。 fputcsvなどいろいろと調べては見たのですが 技術的に詳しいことが分からないので 質問させて頂きました。

質問者が選んだベストアンサー

  • ベストアンサー
  • swqamy
  • ベストアンサー率37% (11/29)
回答No.4

記載するのを忘れていました。 php4のサンプルソースです。 やり方は色々ありますがわかりやすく2次元配列で作成しました。   $DATA1 = array("メールアドレス","名前","アンケート");//1行目を格納   $DATA2 = array($email,$name,$Anke_to);//2行目を格納   $WriteList = array($DATA1,$DATA2);//2次元配列にする   $res_file = fopen("Sample.csv",'w+');   foreach($WriteList as $list){     for ($i =0 ;$i < 3;$i++){       if($i==2){//アンケート項目か         fwrite($res_file, $list[$i]);       }else{         fwrite($res_file, $list[$i].",");       }     }     fwrite($res_file, "\r\n");//改行を挿入   }   fclose($res_file);

その他の回答 (3)

  • swqamy
  • ベストアンサー率37% (11/29)
回答No.3

違いますよ <?php $list = array('メールアドレス,名前,アンケート','$email,$name,$アンケート'); $res_file = fopen("Sample.csv",'w+'); foreach ($list as $line) {    fputcsv($res_file, split(',', $line)); } fclose($res_file); ?> です。 この場合Sample.csvには 1行目  メールアドレス,名前,アンケート 2行目  $email,$name,$アンケート と記述されます。 「$email,$name,$アンケート」これは各変数ですよね? この場合一度別の変数に格納する方がわかりやすくなりますよ。 また、「$アンケート」この変数名はやめましょう。 変数名は極力アルファベットで記述するべきです。 $DATA = $email.",".$name.",".$Anke_to; $list = array('メールアドレス,名前,アンケート',$DATA); としたらいいと思います。

  • swqamy
  • ベストアンサー率37% (11/29)
回答No.2

サンプルソースです 参考までに(抜粋)  $res_file = fopen("Sample.csv",'w+');  foreach ($CSV_WRITE as $line) {  /*CSV形式変換で書込み(第2引数は配列を指定)***************   例)$list = array('AAA,BBB,DA','AAA,VVV');     CSV)AAA,BBB,DA        AAA,VVV  って感じで記述される  *******************************************************/    //$CSV_WRITEには例のような感じで値が格納されているとします    fputcsv($res_file, split(',', $line));  }  fclose($res_file);

sumomoko
質問者

補足

サンプルソースありがとうございます。 例えば、送信する項目が [メールアドレス]、[名前]、[アンケート]とした場合、 <?php $res_file = fopen("Sample.csv",'w+'); foreach ($CSV_WRITE as $line) { $list = array('メールアドレス,名前,アンケート','$email,$name,$アンケート'); fputcsv($res_file, split(',', $line)); } fclose($res_file); ?> というようなソースになるのでしょうか? また、もしお分かりになるのであれば、 PHP4のサンプルソースも見せて頂けるとありがたいです。

  • kalkichi
  • ベストアンサー率64% (22/34)
回答No.1

fputcsvであってますよ。 PHP4ならcsvを先に作ってfwrite

関連するQ&A