PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのfread()関数の使い方を徹底解説!ファイル読み込みの基本と実践例

fread()関数は、PHPで開いているファイルからデータを読み込むための組み込み関数です。読み込みは、ファイルの終端(EOF)に達した時点、または指定したバイト数に到達した時点のどちらか早い方で停止します。

この関数はバイナリセーフ(バイナリデータにも対応)であるため、テキストファイルだけでなく画像などのバイナリファイルの読み込みにも利用できます。

基本構文

fread(file_pointer, length)

パラメータの詳細

  • file_pointer: fopen()関数を使って作成されたファイルポインタリソースを指定します。必須項目です。

  • length: 読み込む最大バイト数を指定します。必須項目です。

戻り値

fread()関数は、読み込みが成功した場合に読み込んだ文字列を返します。失敗した場合はFALSEを返します。

サンプルファイルの準備

ここでは、以下の1行が書き込まれた「one.txt」というファイルを用意して解説します。

Cricket and Football are popular sports.

使用例1:指定バイト数だけ読み込む

次の例では、ファイルから先頭の7バイト分のみを読み込んで出力します。

<?php
    $file_pointer = fopen("one.txt", "r");
    // fread()関数で7バイト読み込む
    echo fread($file_pointer, "7");
    fclose($file_pointer);
?>

実行結果

Cricket

「Cricket」の後にはスペースが含まれるため、正確には7バイト(半角7文字分)が読み込まれています。

使用例2:filesize()を使ってファイル全体を読み込む

ファイルの全内容を読み込みたい場合は、filesize()関数と組み合わせると便利です。filesize()でファイル全体のサイズを取得し、それを読み込むバイト数として指定します。

<?php
    $file_pointer = fopen("one.txt", "r");
    // fread()関数でファイル全体を読み込む
    echo fread($file_pointer, filesize("one.txt"));
    fclose($file_pointer);
?>

実行結果

Cricket and Football are popular sports.

ポイントまとめ

  • fread()はバイナリセーフな関数なので、テキスト・バイナリどちらのファイルにも対応しています。

  • ファイル操作後は必ずfclose()でファイルを閉じるようにしましょう。

  • ファイル全体を一度に読み込む場合は、filesize()との組み合わせが定番のテクニックです。

  1. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用

  2. PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

    PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値