PHPのfgetc()関数とは?使い方とサンプルコードを解説
fgetc() 関数は、オープンされたファイルポインタから1文字を読み込むためのPHP組み込み関数です。ファイルの終端(EOF)に達した場合は false を返し、それ以外の場合は file_pointer が指すファイルから読み込んだ1文字を含む文字列を返します。
構文
fgetc(file_pointer)
パラメータ
file_pointer − 有効なファイルポインタである必要があります。fopen() または fsockopen() で正常にオープンされたファイル(fclose() によってまだクローズされていないもの)を指していなければなりません。
戻り値
fgetc() 関数は、EOF(ファイルの終端)に達した場合は false を返します。それ以外の場合は、file_pointer が指すファイルから読み込んだ1文字を含む文字列を返します。
使用例:最初の1文字を読み込む
以下は、ファイルから最初の1文字を読み込んで表示する基本的な例です。
<?php
$file_pointer = fopen("one.txt", "r");
echo fgetc($file_pointer);
fclose($file_pointer);
?>
たとえば、ファイル「two.txt」に「Pirates of the Caribbean」というテキストが保存されている場合、fgetc() は先頭の1文字だけを返します。
出力結果
P
使用例:EOFまで1文字ずつ読み込む
次に、while ループと feof() 関数を組み合わせて、ファイルの終端まで1文字ずつ読み込む例を見てみましょう。ここでは、ファイル「two.txt」に「James Gosling developed by Java」というテキストが保存されているものとします。
<?php
$file_pointer = fopen("two.txt", "r");
while (!feof($file_pointer)) {
echo fgetc($file_pointer);
}
fclose($file_pointer);
?>
出力結果
James Gosling developed by Java
注意点
fgetc() は1バイト単位で文字を読み込むため、日本語などのマルチバイト文字を扱う場合には文字化けが発生することがあります。マルチバイト対応が必要な場合は、mb_substr() や fgets() など、バイト数を意識しない別の関数の利用を検討してください。
-
PHPのfile_get_contents()関数とは?使い方とパラメータを徹底解説
PHPのfile_get_contents()関数は、ファイル全体を読み込んで1つの文字列として返す関数です。似た関数であるfile()関数がファイル全体を配列として読み込むのに対し、file_get_contents()関数はファイル全体を単一の文字列として取得できる点が大きな特徴です。基本構文file_get_contents(file_path, flags, context, start_offset, max_length)パラメータの詳細file_path: 読み込み対象となるファイルへのパスを指定します。flags: 以下のフラグをバイナリOR演算子(|)で組み合わせて指定できま
-
PHPのfile()関数とは?使い方・パラメータ・戻り値をわかりやすく解説
PHPのfile()関数は、指定したファイル全体を読み込み、その内容を行ごとに分割した配列として返す関数です。テキストファイルを簡単に扱いたい場合に便利な基本関数の一つです。構文file(file_path, flag, context)パラメータfile_path − 読み込みたいファイルへのパスを指定します。flag − 省略可能なパラメータで、以下の定数を1つ、または複数組み合わせて指定できます。FILE_USE_INCLUDE_PATH − include_path の中からファイルを検索します。FILE_IGNORE_NEW_LINES − 配列の各要素の末尾に改行文字を追加しません