説明
arrayfalse file(string $filename
, int $flags
= 0, resourcenull $context
= null
)
注意:
ファイルの内容を文字列として返すには file_get_contents
を使用します。
パラメータ
-
filename
-
ファイルへのパス。
ヒントfopen wrappers が有効の場合、この関数のファイル名として
URL を使用することができます。ファイル名の指定方法に関する詳細は
fopen を参照ください。
サポートするプロトコル/ラッパー には、さまざまなラッパーの機能やその使用法、
提供される定義済み変数などの情報がまとめられています。
-
flags
-
オプションのパラメータ flags
は、以下の定数のうちのひとつ、あるいは複数の組み合わせとなります。
-
FILE_USE_INCLUDE_PATH
-
include_path のファイルを探します。
-
FILE_IGNORE_NEW_LINES
-
配列の各要素の最後の改行を省略します。
-
FILE_SKIP_EMPTY_LINES
-
空行を読み飛ばします。
-
FILE_NO_DEFAULT_CONTEXT
-
デフォルトのストリームコンテキストを使いません。
-
context
-
ストリームコンテキストリソース
戻り値
ファイルを配列に入れて返します。
配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。
失敗すると file は false
を返します。
注意:
FILE_IGNORE_NEW_LINES
を指定しない限り、
配列に取り込まれた各行は行末文字も含みます。
注意:
マッキントッシュコンピュータ上で作成されたファイルを読み込む際に、
PHP
が行末を認識できないという問題が発生した場合、
実行時の設定オプションauto_detect_line_endings を有効にする必要が生じるかもしれません。
エラー / 例外
ファイルが存在しない場合は E_WARNING
レベルのエラーが発生します。
例
例1 file の例
<?php
// ファイルの内容を配列に取り込みます。
// この例ではHTTPを通してURL上のHTMLソースを取得します。
$lines = file('http://www.example.com/');
// 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// オプションのパラメータを使う
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
注意
警告IIS のような、いくつかの標準に
対応してない Web サーバーは、PHP に警告を発生させるような手順でデータを送信します。
このようなサーバーを使用する場合は、
error_reporting を警告を発生しないレベルまで小さくする必要があります。
PHP では、https://
ラッパーでストリームをオープンする際に
バグがある IIS サーバーソフトウエアを検出することができ、この警告を抑制することができます。
あなたが ssl://
ソケットを作成するために fsockopen を使用している場合、
自らこの警告を検出し、抑制する必要があります。
参考
- file_get_contents
- readfile
- fopen
- fsockopen
- popen
- include
- stream_context_create