flock
Lightweight consultation file locking
<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">// Exclusive locking</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>