質問: 以前、入力フォームとテキストファイルを作り、そちらはフォーム送信されるごとにテキストファイルが追記保存されるようにしていした。 そしてそのテキストファイルをPHPで配列として(1行ずつの内容がそれぞれの配列の要素となるように)読み込みたいです。配列のデータを一回ごとの投稿に改行してブラウザで表示させる。 これを作業を行いたかったのですが、 ``` コード ``` ○○ \n"); } $fp=fopen($filename,"a"); fwrite($fp,$name . PHP_EOL); fclose($fp); } ?> という形を取っているのですがこの後の作業で詰まっています。よければご指摘お願いいたします。
回答: php で、テキストファイルの読み取りを行う機会はそれほど多くありません。 ファイルシステム関数は潤沢に揃っていますが、初心者であれば基本の数個を十分に扱えるようになると良いと思います。 fopen を使用した一連の操作は、非常に基本に忠実ですが「実現したいこと」に対して面倒です。 個人的なオススメですが ・file_get_contents() ・file_put_contents() に絞って学習するとわかりやすいです。 ファイル全体を都度読み書きするので、効率の良い方法ではありませんが、学習スクリプトの段階で、パフォーマンスを気にするようなケースは無いと思います。 上記の関数と explode(), implode() の利用で、大抵の事は可能です。 今回のケースであれば、file_get_contents() で全体を読み取り、改行を explode() で分割し、分割で出来た配列を foreach() で回すのが基本手順になります。 読み取りは、file() でも良いのですが、file_get_contents() と file_put_contents() のセットの方が対比がしやすいので理解しやすいと思います。