PHPでファイルを読み込みファイル内容を表示する方法を紹介します。
プログラム例
コード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$fileName = "data.txt";
$file = fopen($fileName, "r");
while (!feof($file)) {
$str = fgets($file);
print "$str<BR>";
}
fclose($file);
?>
</body>
</html>
解説
下記コードで、これから開くファイル名を変数に設定します。
$fileName = "data.txt";
fopen()関数を呼び出しファイルを開きます。第二引数に"r"を指定しているため、読み取り専用で開きます。ファイルがオープンできた場合ファイルポインタが戻り値として戻ります。
$file = fopen($fileName, "r");
feof()関数を呼び出しファイルの終端を判定します。ファイルが終端でない限りwhileループをループし続けます。
while (!feof($file)) {
fgets()関数を呼び出しファイルから1行読み出します。(fgets()関数の引数はファイルポインタです。)
$str = fgets($file);
読み出した1行分の文字列を表示します。
print "$str<BR>";
実行結果
下記のデータファイルを準備します。
そちらはいかがお過ごしでしょうか?
まだまだ寒い日が続きます。
お体にお気をつけください。
先のPHPファイルをWebブラウザで表示します。下図の画面が表示されます。
fopen関数のファイルモード
オプション | モード・動作 | ファイルポインタの位置 | その他 |
'r' | 読み込みのみでオープンします。 | ファイルの先頭に置きます。 | |
'r+' | 読み込み/書き出し用にオープンします。 | ファイルの先頭に置きます。 | |
'w' | 書き出しのみでオープンします。 | ファイルの先頭に置きます。 | ファイルサイズをゼロにします。ファイルが存在しない場合には作成を試みます。 |
'w+' | 読み込み/書き出し用でオープンします。 | ファイルの先頭に置きます。 | ファイルサイズをゼロにします。 ファイルが存在しない場合には作成を試みます。 |
'a' | 書き出し用のみでオープンします。 | ファイルの終端に置きます。 | ファイルが存在しない場合には作成を試みます。 |
'a+' | 読み込み/書き出し用でオープンします。 | ファイルの終端に置きます。 | ファイルが存在しない場合には作成を試みます。 |
'x' | 書き込みのみでオープンします。 | ファイルの先頭に置きます。 | ファイルが既に存在する場合には fopen() は失敗し、 E_WARNING レベルのエラーを発行します。 ファイルが存在しない場合には新規作成を試みます。 |
'x+' | 読み込み/書き出し用でオープンします。 | ファイルの先頭に置きます。 | それ以外の動作は 'x' と同じです。 |
'c' | 書き込みのみでオープンします。 | ファイルの先頭に置きます。 | ファイルが存在しない場合には新規作成を試みます。 ファイルが既に存在する場合でもそれを ('w' のように) 切り詰めたりせず、 また ('x' のように) 関数のコールが失敗することもありません。 |
'c+' | 読み込み/書き出し用でオープンします。 | ファイルの先頭に置きます。 | それ以外の動作は 'c' と同じです。 |
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-01