file
| 解説 | ファイルの内容を全て取得して配列に格納する |
|---|---|
| 書式 | array file( string filename [, int use_include_path ] ) |
array file( string ファイル名 [, int インクルードパス ] ) |
|
| 引数 |
filename
ファイル名
|
use_include_path
インクルードパスを検索するかどうか
|
|
| 返値 | ファイルのデータが格納された配列/FALSE(失敗した場合) |
file()はファイルの内容を全て取得しますが、1行ずつ配列に格納して返してくれます。「1行ずつ」という事は、改行文字「\n」などのある所までが1行として扱われるという事です。取得した内容に改行文字は付いたままとなります。
ファイル内容が格納された配列が返されます。失敗した場合はFALSEを返します。
filenameファイル名読み込みたいファイル名を指定します。
use_include_pathインクルードパスインクルードファイルを検索するかどうかのオプションで省略可能です。検索する場合はTRUEもしくは1を指定します。省略した場合は0またはFALSEが指定されたとみなし、検索しません。
fopen_wrappersが有効の場合には、この関数のファイル名としてURLを使用する事ができます。ファイル名の指定方法に関する詳細はfopen()関数を参照して下さい。
PHP4.3.0以降で、ファイルの内容を全て文字列として取得するfile_get_contents()を使うことができるようになりました。file_get_contents()は、配列としてではなく文字列としてファイルの内容を取得します。
これに対し、readfile()ではファイルの内容を全て出力し、配列や文字列への格納は行いません。すぐに出力する事が目的の場合はreadfile()が効率的です。
参考関数
- fopen() ---- ファイルまたはURLを開く
- file_get_contents() ---- ファイルの内容を全て取得する
- readfile() ---- ファイルを出力する
サンプルスクリプト
簡単な利用例
- $n = 10; // 出力行数を指定
- $file = @file("somefile.php"); // ファイルの内容を配列に格納
- $i = 0; // カウント値の設定
- // 指定行数まで出力
- while( $i < $n ){
- echo "$file[$i]";
- $i++;
- }
URL上のHTMLソースを取得する
- $lines = @file('http://www.example.com/'); //ファイルの内容を配列に格納。
- // 配列の内容をHTMLソースに変換表示し、行番号もつけます。
- foreach( $lines as $line_num => $line ) {
- echo "{$line_num} : " . htmlspecialchars( $line ) . "<br>\n";
- }
| PHP辞典 |
|
|---|---|
![]() |
PHP5の関数にも対応したリファレンスですが、関数ごとにバージョンが表示されているのでPHP4ユーザにも安心。簡単なサンプルが全ての関数についている事と目的別検索が魅力です。 |
| PHPポケットリファレンス |
|
|---|---|
![]() |
携帯用でもOKの小さめの本。関数本にありがちな分厚い・重い・見るのがおっくうという欠点をコンパクト化で解消してます。小さいながらも関数の掲載量・内容は共に十分充実しており、関数ごとのサンプルや目的別検索もあります。 |





