ホームページ  >  記事  >  バックエンド開発  >  PHP_PHPチュートリアルでのdatファイルの読み書き操作の詳細説明

PHP_PHPチュートリアルでのdatファイルの読み書き操作の詳細説明

WBOY
WBOYオリジナル
2016-07-13 17:07:331582ブラウズ

PHPでは、どのような種類のファイルを読み込む場合でも、fopen関数を使用して、他の関数と連携して動作させることがほとんどです。 次に、datデータファイルを読み込む方法を紹介します。

以下は、基本的なファイルの読み取りと書き込み操作に関する記事です。私はこの記事を読んで基本的なファイル操作を学びました。内容をクリップボードにコピーします。

コードは次のとおりですコードをコピー
$file_name = "data.dat";

// 読み込むファイルの絶対パス: homedata.dat

$file_pointer = fopen($file_name, "r");

// ファイルを開きます。「r」はモード、または実行する操作メソッドです。詳細については、この記事の後半の紹介を参照してください

$file_read = fread($file_pointer, filesize($file_name));

// ファイルポインタを介してファイルの内容を読み取ります

fclose($file_pointer);

//ファイルを閉じる

print "読み取られたファイルの内容は次のとおりです: $file_read";

// ファイルの内容を表示します
?>

コード:

コードは次のとおりですコードをコピー
$file_name = "data.dat";

// 絶対パス: homedata.dat

$file_pointer = fopen($file_name, "w");

// "w" はモードです。詳細については以下を参照してください

fwrite($file_pointer, "書きたいもの");

// まずファイルを 0 バイトにカットしてから、
と書き込みます

fclose($file_pointer);

// 終了

print "データはファイルに正常に書き込まれました";

?>

コード:

コードは次のとおりですコードをコピー
$file_name = "data.dat";

// 絶対パス: homedata.dat

$file_pointer = fopen($file_name, "a");

// 「w」モード

fwrite($file_pointer, "追加したいもの");

// ファイルを 0 バイトに切り取らず、ファイルの最後にデータを追加します

fclose($file_pointer);

// 終了

print "データがファイルに正常に追加されました";

?>

上記は簡単な紹介にすぎません。以下でさらに詳しく説明します。

複数の人が書き込みを行う場合があり (トラフィックの多い Web サイトで最も一般的です)、その結果、次のような無駄なデータがファイルに書き込まれます。

info.fileファイルの内容は以下の通りです

->

|1|ムクル|15|男性|インド (n)

|2|ライナス|31|男性|フィンランド (n) 同時に 2 人が登録されているため、ファイルが破損しています


->

info.file ->

|1|ムクル|15|男性|インド

|2|ライナス|31|男性|フィンランド

|3|ロブ|27|男性|アメリカ|
Bill|29|男性|USA 上記の例では、PHP が Rob の情報をファイルに書き込むときに、Bill も書き込みを開始します。このとき、Rob のレコードの「n」を書き込む必要があり、ファイルが書き込まれます。破損した。

これは絶対に起こってほしくないので、ファイルのロックを見てみましょう: コンテンツをクリップボードにコピーします

コード:


コードは次のとおりです

print "ファイルの内容は $file_read です";

?>上記の例では、2 つのファイル read.php と read2.php の両方がファイルにアクセスする場合、どちらもファイルを読み取ることができますが、プログラムが書き込む必要がある場合は、読み取り操作が完了するまで待機する必要があります。ファイルが公開されました。 コンテンツをクリップボードにコピーします
コード:

コードをコピー

$file_name = "data.dat";

$file_pointer = fopen($file_name, "r");

$lock = flock($file_pointer, LOCK_SH);

// 私は 4.0.2 を使用しているので、LOCK_SH を使用するには、1 として直接記述する必要があるかもしれません。


if ($lock) {

$file_read = fread($file_pointer, filesize($file_name));

$lock = flock($file_pointer, LOCK_UN);

// バージョンが PHP4.0.2 より小さい場合は、LOCK_UN の代わりに 3 を使用します

}

fclose($file_pointer);

コードは次のとおりです コードをコピー

$file_name = "data.dat";

$file_pointer = fopen($file_name, "w");

$lock = flock($file_pointer, LOCK_EX);
// バージョンが PHP4.0.2 より前の場合は、LOCK_EX の代わりに 2 を使用します

if ($lock) {

fwrite($file_pointer, "何を書き​​たいか");
flock($file_pointer, LOCK_UN);
// バージョンが PHP4.0.2 より前の場合は、LOCK_UN の代わりに 3 を使用します

}

fclose($file_pointer);

print "データはファイルに正常に書き込まれました";

?>

うーん...、データの追加は他の操作とは少し異なります。それが FSEEK です。ファイル ポインターがファイルの最後にあることを常に確認するのが良い習慣です。

Windows システムの場合、上記のファイルの前に '' を付ける必要があります。

群れのトーク:

Flock() は、ファイルが開かれた後にのみファイルをロックします。 上記の列では、ファイルは開かれた後にロックされますが、ファイルの内容はその時点の内容のみであり、他のプログラム操作の結果は反映されません。そのため、fseek はファイルの追加だけに使用する必要はありません。操作だけでなく、読み取り操作も可能です。
(ここでの翻訳は正確ではないかもしれませんが、アイデアは理解できると思います)。

パターンについて:

'r' - 読み取り専用モードで開き、ファイルポインタはファイルの先頭に配置されます

'r+' - 読み取り/書き込みモードで開き、ファイルポインタはファイルの先頭に配置されます

'w' - 書き込み専用に開きます。ファイルポインタはファイルの先頭に配置され、ファイルは 0 バイトにカットされます。ファイルが存在しない場合は、ファイルの作成を試みます

「w+」 - 読み取りおよび書き込み用に開きます。ファイル ポインターはファイル ヘッダーに配置され、ファイル サイズは 0 バイトにカットされます。ファイルが存在しない場合は、ファイルの作成を試みます

'a' - 書き込み専用モードで開きます。ファイルポインタはファイルの末尾に配置されます。ファイルが存在しない場合は、ファイルの作成を試みます

'a+' - 読み取りおよび書き込み用に開きます。ファイル ポインターはファイルの末尾に配置されます。ファイルが存在しない場合は、ファイルの作成を試みます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629904.html技術記事 PHPではどのような種類のファイルを読み込む場合でも、fopen関数を利用して他の関数と連携して動作させることがほとんどです。 次にdatデータファイルを読み込む方法を紹介します。 以下は記事です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。