phpでフォームから入力されたファイルからデータをセーブする時、項目が複数ある場合に項目毎にファイルを用意するとファイルが増えすぎてしまいますので、ある程度は項目と項目の間に「 」や「,」や「;」や改行コード等で区切ってセーブします。
フォームから入力されたデータ等をforeachで結合しても良いですがimplode関数なら簡単に結合できます。
配列データを結合する方法
■implode(結合する文字列と文字列の間に入れる文字列,結合される配列);
返り値は結合された文字列の変数です。
<?php $List[0]="いろはに"; $List[1]="ほへ"; $List[2]="と"; $List[3]="ちりぬるを"; $text=implode(",",$List); echo $text; ?>
これを実行すると
いろはに,ほへ,と,ちりぬるを
と表示されるように結合されます。
これを利用すればループで複数回fputsしなくても一度でOKになります。
↓を実行すると
<?php $List[0]="いろはに"; $List[1]="ほへ"; $List[2]="と"; $List[3]="ちりぬるを"; $text=implode(",",$List); $file=@fopen("test.txt","w"); if(!$file) { } else { fputs($file,$text); fclose($file); } ?>
test.txtの中身が
いろはに,ほへ,と,ちりぬるを
となります。
次回はこの作ったファイルをロードする方法を紹介します。