ホームページ > バックエンド開発 > PHPチュートリアル > flock はファイル ロックを実装するために flock をシミュレートします

flock はファイル ロックを実装するために flock をシミュレートします

WBOY
リリース: 2016-07-29 08:36:19
オリジナル
1244 人が閲覧しました

主にアイデアを提供します。
$lock0 と $lock1 はファイルロック識別子です。ユーザーがファイルを開くと、$lock0 と $lock1 が生成されます。ファイルが開かれていないときは、これらは存在しません。
実際、最も重要なことは、ファイルの現在のステータスを表す識別子を持たせることです。$lock0 と $lock1 がそのような役割を果たします。

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


// ファイルをロックします。時間がかかりすぎる場合はタイムアウトします。
function lock ($lock, $tries) {
$ lock0 = ".{$lock}0";
$lock1 = ".{$lock}1"
for ($i=0; $i if (!is_file($lock0) )) {
touch($lock0); 1 を返す
ファイル。
関数ロック解除 ($lock) {
unlink(".{$lock}1")
unlink(".{$lock}0); ");
}
// 使用例。
$filename = " somefile";
$data = "stuff and thingsn";
$tries = 10;
if (lock($filename, $tries)) {
$ h = fopen($filename, "a") または die();
fwrite($h, $data); fopen($filename, "a ") または die(); 「」の後の $filename をロックします。($tries* 100) . "ミリ秒!";;
}
ロック解除 ($ ファイル名); else {
//die ("$ 試行回数 * 100)。
上記では、flock の側面を含め、ファイル ロックを実装する flock をシミュレートする方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート