ホームページ >バックエンド開発 >PHPチュートリアル >PHP ファイル操作: ファイルを 1 行ずつ読み取る
前回の記事「php ファイル操作 - ファイルを 1 文字ずつ読み取る 」では、ファイルを 1 文字ずつ読み取るファイルの読み取り方法を紹介しました。この記事では、ファイルを一行ずつ読み込む別の方法として、ファイルの内容を一行ずつ読み取って出力する方法を紹介しますので、一緒に学びましょう。
「test.txt」という名前のテキスト ファイルがあり、その内容は次のとおりです。
ファイル行の内容を読み取るにはどうすればよいですか?ラインと出力?簡単ですが、今日は2つの方法を紹介します。
方法 1: fgets() 関数を使用する
コード例を見てみましょう:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
出力結果:
主要な関数の分析:
fgets() 関数は、開いているファイルからデータ行を読み取るために使用され、必要なパラメータ $file
(開かれているファイル) およびオプションのパラメータ $length
(読み取るバイト数); $length
パラメータが省略された場合、デフォルトでは、Take 1k (つまり 1024 バイト) の長さを読み取ります。
fgets() 関数は 改行文字
、EOF
(ファイルの最後まで読み取られます) を検出するか、指定された長さ $length-1## に達します# 停止します (返される文字列の最大長は
$length-1 バイトです)。
filesize() 関数を使用してデータを取得できます。これにより、指定されたファイルのサイズ (ファイルの数) が返されます。バイト)。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $url = './test.txt'; $handle = fopen($url, 'r'); //打开文件 $size= filesize($url); //计算文件大小 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,$size))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>出力結果は上記と同じです。
方法 2: fgetss() 関数を使用する
コード例を見てみましょう:<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetss($handle,1024))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>出力結果: 主要な関数の分析: fgetss() 関数は fgets() 関数に似ており、どちらも開いているファイルからデータ行を読み取ることができます。違いは fgetss() です。この関数はデータから HTML タグと PHP タグをフィルターで除外します。 fgetss() 関数は、1 つの必須パラメータ
$file、2 つのオプション パラメータ
$length および
$tags を受け入れます。パラメータ $file と $length は fgets() 関数で導入されており、これらについては上記で詳しく学ぶことができます。パラメータ
$tags は、削除しないタグを指定するために使用されます。例を通して詳しく見てみましょう:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetss($handle,1024,"<h1>,<em>"))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>上記の例では、コードでは、パラメータ $tags の値を「
」に設定します。つまり、
と
はフィルタリングしません。 タグなので、出力結果は次のようになります:
注: ファイルを操作した後は、必ず fclose() を使用してください。ファイルを閉じる関数です!
わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →## おすすめ:《PHP 面接質問まとめ (集)》《php ビデオ チュートリアル》
以上がPHP ファイル操作: ファイルを 1 行ずつ読み取るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。