file
そふぃのPHP入門 >> PHP関数リファレンス >> ファイルシステム関数 >> file

file

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

PHPマニュアル:file 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()が効率的です。

参考関数

サンプルスクリプト

簡単な利用例

  1. <?php
  2. $n = 10; // 出力行数を指定
  3. $file = @file("somefile.php"); // ファイルの内容を配列に格納
  4.  
  5. $i = 0; // カウント値の設定
  6. // 指定行数まで出力
  7. while( $i < $n ){
  8.   echo "$file[$i]";
  9.   $i++;
  10. }
  11. ?>

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

  1. <?php
  2. $lines = @file('http://www.example.com/'); //ファイルの内容を配列に格納。
  3.  
  4. // 配列の内容をHTMLソースに変換表示し、行番号もつけます。
  5. foreach( $lines as $line_num => $line ) {
  6. echo "{$line_num} : " . htmlspecialchars( $line ) . "<br>\n";
  7. }
  8. ?>
PHP辞典
PHP辞典 PHP5の関数にも対応したリファレンスですが、関数ごとにバージョンが表示されているのでPHP4ユーザにも安心。簡単なサンプルが全ての関数についている事と目的別検索が魅力です。
PHPポケットリファレンス
PHPポケットリファレンス 携帯用でもOKの小さめの本。関数本にありがちな分厚い・重い・見るのがおっくうという欠点をコンパクト化で解消してます。小さいながらも関数の掲載量・内容は共に十分充実しており、関数ごとのサンプルや目的別検索もあります。