ファイルシステム関数
Home >> PHP関数リファレンス >> ファイルシステム関数 >> file

ファイルシステム関数

解説 ファイルの内容を全て取得して配列に格納する
書式 array file( string filename [, int use_include_path ] )
array file( string ファイル名 [, int インクルードパス ] )
引数 filename ファイル名
use_include_path インクルードパスを検索するかどうか
返値 ファイルのデータが格納された配列/FALSE(失敗した場合)

PHPマニュアル:ファイルシステム関数 file()

file()関数:概略解説

file()は、ファイルの内容を全て取得しますが、1行ずつ配列に格納して返してくれます。「1行ずつ」という事は、改行文字「\n」などのある所までが1行として扱われるという事です。取得した内容に改行文字は付いたままとなります。

file()関数:返り値解説

ファイル内容が格納された配列が返されます。失敗した場合はFALSEを返します。

file()関数:引数解説

filename ファイル名

読み込みたいファイル名を指定します。

use_include_path インクルードパス

インクルードファイルを検索するかどうかのオプションで省略可能です。検索する場合はTRUEもしくは1を指定します。省略した場合は0またはFALSEが指定されたとみなし、検索しません。

file()関数:補足解説

fopen_wrappersが有効の場合には、この関数のファイル名としてURLを使用する事ができます。ファイル名の指定方法に関する詳細はfopen()関数を参照して下さい。

file()関数:その他

PHP4.3.0以降で、ファイルの内容を全て文字列として取得するfile_get_contents()を使うことができるようになりました。file_get_contents()は、配列としてではなく文字列としてファイルの内容を取得します。

これに対し、readfile()ではファイルの内容を全て出力し、配列や文字列への格納は行いません。すぐに出力する事が目的の場合はreadfile()が効率的です。

参考関数

サンプルスクリプト

簡単な利用例

<?php
$n
= 10; // 出力行数を指定
$file = @file("somefile.php"); // ファイルの内容を配列に格納

$i = 0; // カウント値の設定
// 指定行数まで出力
while( $i < $n ){
  echo
"$file[$i]";
  
$i++;
}
?>

URL上のHTMLソースを取得する

<?php
$lines
= @file('http://www.example.com/'); //ファイルの内容を配列に格納。

// 配列の内容をHTMLソースに変換表示し、行番号もつけます。
foreach( $lines as $line_num => $line ) {
echo
"{$line_num} : " . htmlspecialchars( $line ) . "<br>\n";
}
?>