PHP でファイルを読み書きするためのさらに 2 つの実用的な関数は、fopen 関数と fwrite 関数です。これらの 2 つの関数を使用すると、必要に応じて詳細な説明を読むことができます。
1.fopen (ファイルの作成とファイルを開く)
文法:
fopen(filename,mode)filename、開くファイルを指定します。 mode、ファイルを開くためのモードを以下の表に示します。
モードの説明
「r」は読み取り専用モードで開き、ファイル ポインタがファイルの先頭を指します。
「r+」は読み取り/書き込みモードで開き、ファイル ポインタがファイルの先頭を指します。
「w」は書き込みモードをオンにし、ファイル ポインタをファイルの先頭にポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、ファイルの作成が試行されます。
「w+」は読み取り/書き込みモードで開き、ファイル ポインタをファイルの先頭にポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、ファイルの作成が試行されます。
「a」は書き込みモードで開き、ファイル ポインタがファイルの末尾を指します。ファイルが存在しない場合は、ファイルの作成が試行されます。
「a+」は読み取り/書き込みモードで開き、ファイル ポインタがファイルの末尾を指します。ファイルが存在しない場合は、ファイルの作成が試行されます。
ファイルが正常にオープンされた場合、fopen関数の戻り値はファイルポインタとなり、エラーが発生した場合はFALSEが返されます。
例:
コードは次のとおりです | コードをコピー |
$fp = fopen("test.txt", "r"); ?> |
2.fclose (ファイルを閉じる)
文法:
fclose(ファイルポインタ)
filepointer、閉じるファイル ポインター。 fclose 関数は、成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
例:
コードは次のとおりです | コードをコピー |
$fp = fopen("test.txt", "r"); fclose($fp); ?> |
3.feof (ファイルの終わりに達したかどうかを検出)
文法:
feof(ファイルポインタ)
filepointer、検出されるファイル ポインター。正常に開かれたが閉じられていないファイルを指す必要があります。ファイルポインタがファイルの末尾に達するか、エラーが発生した場合、feof 関数は TRUE を返します。
例:
コードは次のとおりです | コードをコピー |
$fp = fopen("test.txt", "r"); while(! feof($fp)) { echo fgets($fp) " "; } fclose($fp); ?> |
4.fgets (ファイルポインタから行を読み取ります)
文法:
fgets(ファイルポインタ)
filepointer、読み取られるファイルポインタ。ファイルから 1 行を読み取り、成功した場合は文字列を返し、失敗した場合は FALSE を返します。
例:
コードは次のとおりです | コードをコピー |
$fp = fopen("test.txt", "r"); if($fp) { for($i=1;! feof($fp);$i++) { echo "OK".$i." : ".fgets($fp)."; } } それ以外 { echo "ファイルを開けませんでした"; } fclose($fp); ?> |
test.txt の内容が以下であると仮定します。
ハローワールド
こんにちは、cnblogs
こんにちはヘイハオジ
みなさんこんにちは
ページ出力の結果は次のようになります:
1行目: こんにちは、世界
行 2: こんにちは、cnblogs
3 行目: こんにちは、ヘイハオジ
4行目: helloEveryone5.fwrite (ファイルの書き込み)
文法:
fwrite(filepointer,string) filepointer、書き込まれるファイルポインター。 string、書き込まれる文字列。成功した場合は書き込まれた文字数を返し、失敗した場合は FALSE を返します。
例:
コードは次のとおりです | コードをコピー |
$fp = fopen("test.txt", "w");//ファイルは書き込む前にクリアされます if($fp) { $count=0; for($i=1;$i { $flag=fwrite($fp,"OK".$i." : "."Hello World!rn"); if(!$flag) { echo "ファイルの書き込みに失敗しました "; 休憩 } $count+=$flag; } echo "合計 ".$count." 文字が書き込まれました"; } それ以外 { echo "ファイルを開けませんでした"; } fclose($fp); ?> |
ページの出力結果は次のとおりです:
合計100文字書いてください
test.txt ファイルには次のように書き込まれます:
1行目: Hello World!
2 行目: Hello World!
3 行目: Hello World!
4 行目: Hello World!
5 行目: Hello World!
注: 操作を簡略化するために、一部の関数のオプションのパラメーターはリストされていません。
)