flock
輕便的諮詢文件鎖定
<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$file</span> <span class="token operator">=</span> <span class="token function">fopen</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"test.txt"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"w+"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token comment">// 排它性的鎖定</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">flock</span> <span class="token punctuation">(</span> <span class="token variable">$file</span> <span class="token punctuation">,</span> <span class="token constant">LOCK_EX</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token function">fwrite</span> <span class="token punctuation">(</span> <span class="token variable">$file</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"Write something"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token comment">// release lock</span>
<span class="token function">flock</span> <span class="token punctuation">(</span> <span class="token variable">$file</span> <span class="token punctuation">,</span> <span class="token constant">LOCK_UN</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">else</span>
<span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"Error locking file!"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">fclose</span> <span class="token punctuation">(</span> <span class="token variable">$file</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>