noshi’s diary

ゲームの事、映画やドラマ、思いついた事、プログラミングの事、雑記的なことを書いています

php ファイル内容の書き込みと読み込み

phpでは外部ファイルを扱うことができます。 たとえば、プログラムでさまざまな処理をしたら、それを保存しておかないとすぐに消えてしまいますが、テキストファイルなどに保存しておけば、そのデータをサーバー上から読み込むことができます。 今回は、『2012-09-26 ホームページを更新しました』という文章をテキストファイルに書き込み、それを読み込むまでのやり方を記録しておきます。 まず、ファイルを書き込むプログラムからです。file_put_contents関数を使います。 パラメーターは、つぎのようなものを指定します。 書き込んだ容量 = file_put_contents('ファイルパス',書き込む内容); これで自動的にファイルが作成されます。 下記の例では、「news_data」というディレクトリ内にファイルを作ろうとしています。そのため、サーバー上には、news_dataというディレクトをつくって、書き込む権限を与えておきます。 <?php $success = file_put_contents('./news_data/news.txt', '2012-09-26 ホームページを更新しました'); ?> <?php if($success){ echo('<p>ファイルへの書き込みが完了しました</p>'); } else { echo('<p>ファイルへの書き込みに失敗しました。権限などを確認してください。</p>'); } ?> 上記ファイルを適当なファイル名を付けて保存します。sample01.phpとか。 つぎに読み込むためのプログラムをつくります。ここではsample02.phpにしておきます。 ファイルを読み込むための関数は、file_get_contentsです。パラメータはひとつで、読み込むファイルパスを指定します。 <?php $news = file_get_contents('./news_data/news.txt'); ?> <?php if($news){ echo($news); } else { echo('<p>データはありません</p>'); } ?> これでふたつのファイルができました。 実際にブラウザ上で確認してみると、 fliegetcontents.gif こんなふうに表示されます。 今回は、当たり障りのないデータのため、適当なディレクトリに保存しましたが、本稼動のサーバーではドキュメントルート外に保存するなどの措置をとる必要があります。 ドキュメントルートとは、「htdocs」「www」「httpdoc」などです。このディレクトリの中に保存したファイルは、適切な措置をとっていないと外部から閲覧できてしまうので、十分注意しましょう。