前回の記事「phpファイル操作 - ファイルを1行ずつ読み込む」では、ファイルを1行ずつ読み込み、ループを使用してファイルの全データを取得する方法を紹介しました。では、ループを使用しない場合、ファイルのすべてのデータを取得するにはどうすればよいでしょうか?この記事では、ループを使わずにファイルの全データを一括で取得する方法を紹介します。
PHP でファイルの全データを一度に読み取る方法はたくさんありますが、今日は主に fread() と readfile() という 2 つの関数について学習します。
「test.txt」という名前のテキスト ファイルがあり、その内容は次のとおりです:
まず fread() 関数を理解しましょう 、次の例を見てください:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; $handle = fopen($file, 'r'); //打开文件 $contents = fread($handle, filesize($file)); //读取文件内容 echo $contents; fclose($handle);//关闭文件 ?>
出力結果:
「test.txt」のすべての内容が確認できます。 "ファイルが出力されます。
実際、fread($handle,$length)
関数は、開いているファイル $handle## 内の指定された
$length 文字を読み取ります。 # 文字の長さ。ただし、$length パラメータの値を「
filesize($file)」と指定すると、ファイル全体のすべてのデータを読み取ることができます。 filesize() 関数の役割はファイル サイズを取得することであり、fread() 関数の役割はファイル全体を読み取ることです。
readfile() 関数を使用できます。
次の例を見てみましょう:<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = "test.txt"; readfile($file); //读取文件内容 ?>出力結果: 非常に単純ですね。1 つだけ使用してください。コード行「
readfile($file);」は、ファイルのすべてのデータを一度に取得できます。ファイルを開いたり閉じたりする必要はなく、次のような出力ステートメントを使用する必要もありません。
echo としてファイルの内容を出力します。
を見てみましょう。 readfile($filename,$include_path,$context)
関数は、ファイルを読み取って出力バッファに書き込み、ファイルから読み取ったバイト数を返します。この関数は、1 つの必須パラメータ
$filename
$include_path および
$context を受け入れます。 。
はエラー制御演算子です。PHP 式の前に配置すると、式によって生成される可能性のあるエラー情報は無視されます。PHP ファイルの基本操作
わかりました。これですべてです。他に知りたいことがあれば、ここをクリックしてください。 → →
## おすすめ: 《
PHP 面接質問まとめ (集)以上がPHPのファイル操作でファイルの全データを一度に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。