PHP入門 | テキストファイルの利用 | readfileを使ったテキストファイルの読み込み
テキストファイルの内容を読み込んで表示することは、PHPでは驚くほど簡単である。そのまま「指定したテキストファイルを読み込んで表示する」ための関数が用意されている。
実際に試してみよう。まずテキストファイルを用意する。実行するPHPファイル、ここではindex.phpと同じ場所にdata.txtというテキストファイルを作成し、その中に適当なテキストを書き込む。これはPHPと同じくUTF-8エンコーディングで保存する。エンコーディングが異なると文字化けする。
ファイルが用意できたら、スクリプトを作成しよう。index.phpに次のようなソースコードを書く。
<!DOCTYPE html>
<html lang="ko">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<title>sample page</title>
</head>
<body>
<h1>Hello PHP!</h1>
<p><?php readfile("data.txt"); ?></p>
</body>
</html>
そしてページにアクセスすると、テキストファイルの内容がそのまま表示される。
ここで使用しているPHPスクリプトは、body部分に書かれたたった1行の関数だけである。その関数部分は次のとおりである。
<?php readfile("data.txt"); ?>
このreadfileというものが、()で指定されたファイルを読み込み、その場に出力する関数である。テキストを表示したい場所にこの関数を書いておくだけで、そこにファイルの内容が出力される。echoで出力する必要もない。readfile関数だけでよい。
しかし、実際に試してみると、これだけではいろいろ不足がある。まず、複数行のテキストが書かれていても改行されずに表示される。HTMLでは<br>タグを使って改行しなければならないためである。readfileは改行を自動的に<br>へ変換してくれるわけではない。
また、取り出したテキストをそのまま書き込むため、部分的に何か処理をしたい場合には利用できない。あくまで内容全体をその場所に単純に出力するだけである。