ホームページ >バックエンド開発 >PHPチュートリアル >PHPでファイルを1行ずつ読み取るにはどうすればよいですか?

PHPでファイルを1行ずつ読み取るにはどうすればよいですか?

怪我咯
怪我咯オリジナル
2017-07-11 09:34:2714593ブラウズ

PHP では、ファイル ポインターから行を読み取る PHP組み込み関数fgets() 関数を使用できます。

その構文は次のとおりです:

fgets(file,length)
パラメータ 説明
ファイル 必須。読み込むファイルを指定します。
長さ はオプションです。読み取るバイト数を指定します。デフォルトは 1024 バイトです。

file が指すファイルから 1 行を読み取り、最大長 - 1 バイトの string を返します。改行文字 (戻り値に含まれる)、EOF、または長さ - 1 バイト (いずれか最初に発生した方) が読み取られたときに停止します。長さが指定されていない場合、デフォルトは 1K、つまり 1024 バイトになります。

失敗した場合は false を返します。

注: PHP 4.2.0 以降、length パラメーターはオプションになりました。省略した場合、行の長さは 1024 バイトとみなされます。 PHP 4.3 以降、length を省略すると、行の終わりまでストリームからの読み取りが継続されます。ファイル内のほとんどの行が 8 KB を超える場合は、スクリプトで最大行長を指定すると、リソースをより効率的に利用できます。

注: PHP 4.3 以降、この関数はバイナリ ファイルで安全に使用できるようになりました。以前のバージョンではそうではありませんでした。

注: ファイルの読み取り時に PHP が Macintosh ファイルの行末文字を認識できない場合は、auto_detect_line_endings ランタイム設定オプションを有効にすることができます。

以下は例であり、コードは次のとおりです

$filepath =  $_SERVER['DOCUMENT_ROOT'];  
  $filename = $filepath."/resource/dat/users.txt";
  $handle  = fopen ($filename, "r");
  //$contents = fread ($handle, filesize ($filename));
//echo $contents;
  
  while (!feof ($handle)) 
  {
    $buffer  = fgets($handle, 4096);
    
    $username = trim($buffer);
    echo $username
    }
 fclose ($handle);

以上がPHPでファイルを1行ずつ読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。