FOPEN()関数は、ファイルのコンテンツを読み取るか、新しいコンテンツを書き込むことができるファイルを開くために使用されます。この関数には、ファイル名とオープンモード(読み取り専用、書き込み、追加など)の2つのパラメーターが必要です。たとえば、次のコードはファイルを開き、行ごとにコンテンツを読み取ります。
$file = fopen("example.txt", "r");
while (!feof($file)) {
echo fgets($file)."";
}
fclose($file);
ここでは、whireループを使用して、fgets()関数との行ごとにファイルを読み取ります。 Feof()は、ファイルの終了に到達したかどうかを検出するために使用され、Fclose()を使用してファイルハンドルを閉じます。
ファイルコンテンツ全体を一度に読み取る必要がある場合は、Fread()関数を使用できます。この関数には、次の例に示すように、ファイルハンドルとパラメーターとして読み取られるバイト数が必要です。
$file = fopen("example.txt", "r");
echo fread($file, filesize("example.txt"));
fclose($file);
コードは最初にfilesize()を介してファイルサイズを取得し、次にfread()を使用して指定されたバイト数を読み取ります。
ファイル()関数は、ファイルの各行を配列に読み取り、テキストファイルを行ごとに処理する必要があるシナリオに適しています。例は次のとおりです。
$file = file("example.txt");
foreach ($file as $line) {
echo $line."";
}
配列を介してforeachを通過して、コンテンツの各行を出力します。
file_get_contents()は、ファイル全体を読み取り、ファイルコンテンツ文字列を返す最も簡単で最速の方法です。例は次のとおりです。
$file = file_get_contents("example.txt");
echo $file;
この関数はファイルコンテンツを直接返します。これは、小さなファイルをすばやく読み取るのに適しています。
fwrite()は、ファイルにデータを書き込むために使用され、ファイルハンドルと書き込み文字列が必要です。サンプルコード:
$file = fopen("example.txt", "w");
fwrite($file, "Hello World!");
fclose($file);
「W」モードを使用してファイルを開くと、元のコンテンツが上書きされます。コンテンツを追加する必要がある場合は、「A」モードを使用できます。
file_put_contents()は、ファイルに文字列を書き込む簡単な方法です。ファイル名を渡すだけで、次のようなコンテンツを書き込みます。
file_put_contents("example.txt", "Hello World!");
ファイルが存在しない場合、関数は自動的に新しいファイルを作成します。
PHPは、一般的に使用されるさまざまなファイルの読み取りおよび書き込み関数を提供します。それを使用する場合、許可が不十分なため操作の障害を避けるために、ファイルの許可設定に注意を払う必要があります。通常、最初にfile_get_contents()とfile_put_contents()を使用することをお勧めします。それらはコードで簡潔で、実行が効率的で、メンテナンスが容易です。