ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数の概要 - fgets(): ファイルから行を読み取る

PHP 関数の概要 - fgets(): ファイルから行を読み取る

WBOY
WBOYオリジナル
2023-07-25 14:53:072141ブラウズ

PHP 関数の紹介 - fgets(): ファイルからの行の読み取り

PHP では、ファイルの読み取りは非常に一般的な操作です。 fgets() 関数は、ファイルから 1 行ずつデータを読み取るのに役立ちます。この関数は、特に大きなテキスト ファイルを処理する必要がある場合に非常に便利です。この記事では、fgets() 関数の使用法を紹介し、読者がこの関数の機能と使用法をよりよく理解できるようにいくつかのコード例を示します。

fgets() 関数の基本構文は次のとおりです:
string fgets (resource $handle, int $length);

パラメータ分析:

  • $handle : ファイル リソース、fopen() 関数によって開かれ返されるリソース。
  • $length: ファイルから読み取る最大バイト数を指定するオプションのパラメーター。デフォルトは 1024 バイトです。

コード例 1: 基本的な使用法
次の内容を含むテキスト ファイル example.txt があるとします。

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

その中の各行を読みたいとします。

$handle = fopen("example.txt", "r");

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        echo $line . "<br>";
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

プログラムは、最初に fopen() 関数を使用して example.txt ファイルを開き、返されたファイル リソースを $handle 変数に格納します。次に、while ループで fgets() 関数を使用して一度に 1 行を読み取り、それを $line 変数に割り当て、ページに出力します。最後に、fclose() 関数を使用してファイルを閉じます。

上記のコードを実行すると、出力結果は次のようになります。

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

サンプル コード 2: 読み取りバイト数を制限する
場合によっては、最初の数バイト、または 1 行あたり固定バイト数を読み取る必要があるだけです。 fgets() 関数の 2 番目のパラメーター $length を使用すると、読み取られるバイト数を制限できます。たとえば、各行の最初の 10 バイトだけを読み取ります。コードは次のとおりです。

$handle = fopen("example.txt", "r");

if ($handle) {
    while (($line = fgets($handle, 10)) !== false) {
        echo $line . "<br>";
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

このコードは、2 番目のパラメータ 10 を fgets() 関数呼び出しに追加します。これは、10 バイトだけが読み取られることを意味します。毎回バイト。実行結果は以下の通りです。

Lorem ipsu
consectetu
sed do eiu
ut labore 

サンプルコード3: データを1行ずつ読み込んで加工
ページに直接出力するだけでなく、さらに1行ずつデータを加工することもできます。たとえば、ファイル内の各行の文字数をカウントし、結果を配列に格納するには、コードは次のようになります。

$handle = fopen("example.txt", "r");
$result = [];

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $lineLength = strlen($line);
        $result[] = $lineLength;
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

print_r($result);

このコードは、strlen() 関数を使用して文字数を計算します。各ループの各行で結果を $result 配列に保存します。最後に、print_r() 関数を使用して配列の内容を出力します。実行結果は次のとおりです。

Array
(
    [0] => 28
    [1] => 28
    [2] => 30
    [3] => 24
)

まとめ
fgets() 関数は、ファイルからデータを 1 行ずつ読み取るのに役立つ非常に便利な関数です。使い方は非常に簡単で、基本的な構文は理解しやすいです。この関数を使用して、ファイルの各行を読み取り、ページへの出力、文字数のカウントなどのさらなる処理を実行できます。 fgets() 関数を使いこなし、柔軟に使用することで、大きなテキスト ファイルをより便利に処理できます。

以上がPHP 関数の概要 - fgets(): ファイルから行を読み取るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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