phpでフォームから入力されたファイルからデータをセーブする時
項目が複数ある場合に項目と項目の間に「 」や「,」や「;」や
改行コード等で区切ってセーブします。
そんなデータをfgetcで1バイト毎に判定しながら分割しても良いのですが
explode関数なら簡単に分割できます。
文字列データをキーワードで分割し配列に入れる方法
■explode(分割する為のキー,データ,最大配列数);
返り値が分割されたデータの配列になります。
最大配列数は返り値の配列をこの数字以上取得しなくする制限です。
ただし、この引数は省略可能です。
省略すると可能な限りまで確保できます。
test.txtに保存されているデータが
いろはに,ほへと,ちりぬるを,わかよたれそ,つねならむ
であるなら
<?php $text=file_get_contents("test.txt"); $list=explode(",",$text); for($i=0;$i<count($list);$i++) { print "レコード".$i.":"; print $list[$i]; print "<br>"; } ?>
$list=explode(“,”,$text);
で$listという配列の要素に分割して値が入ります。
ただし、分割する為のキーは排除されるのに注意が必要です。
これを実行すると
レコード0:いろはに
レコード1:ほへと
レコード2:ちりぬるを
レコード3:わかよたれそ
レコード4:つねならむ
と、このように分割して表示されます。