ホームページ >バックエンド開発 >PHPチュートリアル >PHPでファイルを1行ずつ読み取るにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。