PHP FILE I/O

PHP ファイル入出力 完全ガイド

fopen / fread / fclose / file_get_contents / file() の使い方と活用例

📂

fopen() · fread() · fclose() — 基本のファイル読み込み

PHP
// ファイルの入出力: ファイルの読み出し
$filename = "test.txt";

clearstatcache();  // キャッシュをクリア(先に実行)
$FP = fopen($filename, "r");

if ($FP) {
    $contents = fread($FP, filesize($filename));
    echo $contents;
    fclose($FP);
} else {
    echo "ファイルが開けませんでした。";
}
POINT 01

3ステップで読み込み

開く → 読む → 閉じる の手順が明確。大きなファイルや細かい制御が必要な場合に使う。

POINT 02

clearstatcache() の位置

filesize() を呼ぶに実行すること。後では意味がない。

POINT 03

エラーハンドリング

if ($FP) でファイルが開けたか確認。開けなかった場合のメッセージも必ず用意する。

3つの関数を比較する

PHP
// (1) file_get_contents() — 文字列として取得
$contents2 = file_get_contents($filename);
print_r($contents2);
// 結果: "こんにちは\nテストです"(1つの文字列)

// (2) file() — 配列として取得(1行ずつ)
$contents3 = file($filename);
print_r($contents3);
// 結果: Array ( [0] => こんにちは [1] => テストです )

// (3) URL も読み込める
$contents4 = file_get_contents("https://example.com/sample.txt");
print_r($contents4);
関数 戻り値 URL対応 主な用途
file_get_contents() 文字列 ✅ 可能 シンプルに全文取得・URL読み込み
file() 配列 ✅ 可能 行ごとに処理したい場合
fopen/fread/fclose 文字列 ⚠️ 条件付き 大きいファイル・細かい制御
🛠️

ファイル読み込み — 実際の活用場面

🌐

file_get_contents(URL) — URL読み込みの活用場面

PHP
// URLのHTMLコンテンツを取得(CSS・画像は読み込まれない)
$html = file_get_contents("https://example.com/sample.txt");
print_r($html);
⚠️ 注意事項 ウェブスクレイピングを行う場合は、対象サイトの利用規約・robots.txtに必ず準拠してください。 また、サイト所有者から明示的な許可を得ることが重要です。 サーバー設定によっては allow_url_fopen が無効になっている場合もあります。