PHP ファイル操作
1. PHP ファイル操作の概要
ファイル操作(File Handling)は、あらゆるウェブアプリケーションにおいて重要なパーツです。さまざまなタスクを処理するために、ファイルを開いたりプロセス(処理)したりする必要が頻繁に発生します。
PHP には、ファイルの作成、読み込み、アップロード、編集を行うための便利な組み込み関数(Built-in Functions)が多数用意されています。
1.1 ファイル操作の主要な関数
ファイルハンドリングで使用されるコアな関数は以下の通りです。
readfile()- ファイルを読み込み、それを出力バッファ(Output Buffer)に書き出します。fopen()- ファイルをオープンします(readfile() 関数よりも多くのオプションが指定可能です)。fread()- オープンされたファイルから読み込みを行います。fgets()- ファイルから一行だけ読み込みます。fgetc()- ファイルから一文字だけ読み込みます。feof()- 「ファイル終端(EOF)」に達したかどうかをチェックします。fwrite()- ファイルに書き込みます。fclose()- オープンされているファイルをクローズします。unlink()- ファイルを削除します。
注意: ファイルを操作(マニピュレーション)する際は、細心の注意を払ってください!
操作を誤ると、大きなダメージを与える可能性があります。よくあるエラーとしては、「間違ったファイルの編集」「ハードドライブをゴミデータで一杯にする」「誤ってファイルの内容を削除してしまう」などが挙げられます。
2. PHP readfile() 関数
readfile() 関数は、ファイルを読み込み、その内容を出力バッファ(通常はブラウザ)に直接書き出します。
ここでは、サーバー上に保存されている "webdictionary.txt" という名前のテキストファイルを例にします。中身は以下の通りです。
webdictionary.txt:
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Languageこのファイルを読み込んで出力バッファに書き出す PHP コードは以下のようになります。
実装例:
<?php
// ファイルを読み込んでブラウザに出力する
echo readfile("webdictionary.txt");
?>readfile() 関数は、「単にファイルを開いて、その内容をブラウザに流し込みたい(書き出したい)」というケースにおいて非常に便利で効率的です。