Fileとは何? わかりやすく解説 Weblio辞書 (original) (raw)

(PHP 4, PHP 5)
file — ファイル全体を読み込んで配列に格納する

説明

array file ( string filename [, int use_include_path [, resource context]] )
file_get_contents()と同じですが、file() はファイルを配列に入れて返すところが異なります。 配列の各要素はファイルの各行に対応します。改行記号はついたままと なります。失敗するとfile()FALSEを返します。
オプションの_use_include_path_引数を使用して、 これに"1"を設定することにより、include_path のファイルの検索も行うこともできます。
`<?php
// ファイルの内容を配列に取り込みます。
// この例ではHTTPを通してURL上のHTMLソースを取得します。
$lines = file('http://www.example.com/');

// 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。
foreach ($lines as linenum=>line_num => linenum=>line) {
echo "Line #{$line_num} : " . htmlspecialchars($line) . "
\n";
}

// 他の例として、Webページを文字列に取り込みます。file_get_contents()も参照してください。
$html = implode('', file('http://www.example.com/'));
?>

`

ティップ

fopen wrappers が有効の場合、この関数のファイル名として URL を使用することができます。ファイル名の指定方法に関する詳細はfopen()、サポートされる URL プロトコルの種類 については、(例えば)付録 M. サポートされるプロトコル/ラッパー を参照してください。
注意: 配列に取り込まれた各行は行末文字も含みます。 行末文字を取り除きたい場合にはrtrim()を使用する必要があります。
注意: マッキントッシュコンピュータ上で作成されたファイルを読み込む際に、PHP が行末を認識できないという問題が発生した場合、 実行時の設定オプションauto_detect_line_endings を有効にする必要が生じるかもしれません。
注意: PHP4.3.0以降ではファイルの内容を文字列に取り込むためにfile_get_contents()を使うことができます。
PHP4.3.0で**file()**はバイナリセーフになりました。
注意: コンテキストのサポートは、 PHP 5.0.0 で追加されました。contexts の説明に関しては、ストリーム を参照してください。

警告
IIS のような、いくつかの標準に 対応してない Web サーバは、PHP に警告を発生させるような手順でデータを送信します。 このようなサーバを使用する場合は、error_reporting を警告を発生しないレベルまで小さくする必要があります。 PHP 4.3.7 以降では、https:// ラッパーでストリームをオープンする際に バグがある IIS サーバソフトウエアを検出することができ、この警告を抑制することができます。 あなたが ssl:// ソケットを作性するために fsockopen() を使用している場合、 自らこの警告を検出し、抑制する必要があります。

readfile(),fopen(), fsockopen(),popen(), file_get_contents(),include(),stream_context_create() も参照してください。