PHP ファイル処理


fopen() 関数は PHP でファイルを開くために使用されます。


ファイルを開く

fopen() 関数は PHP でファイルを開くために使用されます。

この関数の最初の引数は開くファイルの名前を含み、2番目の引数はファイルを開くモードを指定します:

<html>
<body>

<?php
$file=fopen("welcome.txt","r");
?>

</body>
</html>

ファイルは次のモードで開くことができます:

モード 説明
r 読み取り専用。ファイルの先頭から開始します。
r+ 読み取り/書き込み。ファイルの先頭から開始します。
w 書き込み専用。ファイルを開いて内容を空にします。ファイルが存在しない場合は、新しいファイルを作成します。
w+ 読み取り/書き込み。ファイルを開いて内容を空にします。ファイルが存在しない場合は、新しいファイルを作成します。
a 追記。ファイルを開いてファイルの末尾に書き込みます。ファイルが存在しない場合は、新しいファイルを作成します。
a+ 読み取り/追記。ファイルの末尾に書き込むことで、ファイルの内容を保持します。
x 書き込み専用。新しいファイルを作成します。ファイルが既に存在する場合は、FALSE とエラーを返します。
x+ 読み取り/書き込み。新しいファイルを作成します。ファイルが既に存在する場合は、FALSE とエラーを返します。

注記:fopen() 関数が指定されたファイルを開けない場合、0 (false) を返します。

例

fopen() 関数が指定されたファイルを開けない場合、次の例はメッセージを生成します:

<html>
<body>

<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>

</body>
</html>


ファイルを閉じる

fclose() 関数は開いているファイルを閉じるために使用されます:

<?php
$file = fopen("test.txt","r");

// 何らかのコードを実行

fclose($file);
?>


ファイル末尾(EOF)の検出

feof() 関数はファイル末尾(EOF)に達したかどうかを検出します。

不明な長さのデータをループで処理する場合、feof() 関数は役立ちます。

注記:w、a、x モードでは、開いたファイルを読み取ることはできません!

if (feof($file)) echo "文件结尾";


ファイルを1行ずつ読み取る

fgets() 関数はファイルから1行ずつ読み取るために使用されます。

注記:この関数を呼び出した後、ファイルポインタは次の行に移動します。

例

次の例は、ファイル末尾に達するまでファイルを1行ずつ読み取ります:

<?php
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");
// ファイルの各行をファイル末尾まで読み取る
while(!feof($file))
{
    echo fgets($file). "<br>";
}
fclose($file);
?>


ファイルを1文字ずつ読み取る

fgetc() 関数はファイルから1文字ずつ読み取るために使用されます。

注記:この関数を呼び出した後、ファイルポインタは次の文字に移動します。

例

次の例は、ファイル末尾に達するまでファイルを1文字ずつ読み取ります:

<?php
$file=fopen("welcome.txt","r") or exit("无法打开文件!");
while (!feof($file))
{
    echo fgetc($file);
}
fclose($file);
?>


PHP Filesystem リファレンスマニュアル

PHP ファイルシステム関数の完全なリファレンスマニュアルを参照するには、次のサイトを訪問してください:PHP Filesystem リファレンスマニュアル。

その他の拡張機能