【PHP】メモ帳などのファイルの内容を全部出力する関数「readfile()」
今回はPHPで使用できる、メモ帳などのテキストファイルの内容を全部出力する関数「readfile()」を使用してみます。
「fgets()」や「fgetc()」に繰り返し処理を使うことなく全ての内容を取得し、そのまま出力することができるので、メモ帳の内容をそのまま出力したいプログラムを実行する場合は、この「readfile()」のほうが便利そうですね。
テキストファイルの内容を全部出力する関数「file_exists()」
|
1 |
readfile(読み込みたいテキストファイル); |
これだけで内容の取得から出力まで全部やってくれます。「print」とかの出力コードも必要ありません。すごく簡単ですね(;^ω^)
それでは動作を確認してみましょう。
まずは読み込みたいメモ帳ファイルを用意します。
それではPHP側のサンプルコードです。
|
1 2 3 4 5 |
<?php //readfile(読み込みたいテキストファイル); readfile("test.txt"); ?> |
実行結果です。
メモ帳ファイルの内容を取得し、出力までしてくれましたね(*’ω’*)
メモ帳での改行コードをHTMLで反映させる方法
さて、サンプルコードではメモ帳の内容を、「readfile()」を用いてブラウザに出力できることが確認できました。
しかしよく見てみると、メモ帳では改行されているところが、ブラウザでは改行になっていませんね。
これは「HTMLが改行コードや””(クォートまたはダブルクォート)で囲まない半角スペースは無視してしまう」という特徴からくる結果です。
その為、メモ帳側に改行したい箇所に「<br>」タグを記述することでこの問題は回避することができるのですが、いちいち「<br>」タグを記述するのも面倒ですね。そこで「readfile()」のコードを、「<pre></pre>」で囲むことで解決します。
|
1 2 3 4 5 6 7 |
<?php //readfile(読み込みたいテキストファイル); echo "<pre>"; readfile("test.txt"); echo "</pre>"; ?> |
実行結果です。
ブラウザ側でも改行されました。「<pre>」は文字列内の改行コードや半角スペースをそのまま出力するというタグです。改行コードを無視せず、書き出すことによってブラウザにも改行を行っています。