久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP實現對文件鎖進行加鎖、解鎖操作的方法

這篇文章主要介紹了PHP實現對文件鎖進行加鎖、解鎖操作的方法,結合實例形式分析了PHP針對文件進行加鎖、解鎖操作的功能、實現方法與相關注意事項,需要的朋友可以參考下

本文實例講述了PHP實現對文件鎖進行加鎖、解鎖操作的方法。分享給大家供大家參考,具體如下:

在項目中,一般都用到日志,如數據庫查詢日志、訪問日志、對外接口請求返回參數日志,在處理日志時簡單的寫法如下

$file = 'log.txt';
$fp = fopen($file, 'a+');
if(!is_writable($file)){
  die("The $file is not writable!");
}
fwrite($fp, 'here');
fclose($fp);

但這種寫法是由瑕疵的,一個網站同一時間并不是只有一個用戶訪問的,在多個用戶同時訪問時,就會出現問題,也就是多個進程使用同一個資源時,前一個進程寫到一半后面的進程便開始寫了,因此最后生成的日志就亂了。這種情況下,就用到鎖了,在文件加鎖期間,其他進程是不會修改文件的,只有當文件解鎖時,才可以操作。寫法如下

$file = 'log.txt';
$fp = fopen($file, 'a+');
if(!is_writable($file)){
  exit("The $file is not writable!");
}
flock($fp, LOCK_EX);// 加鎖
fwrite($fp, 'here');
flock($fp, LOCK_UN);// 解鎖
fclose($fp);

如果想測試下在文件加鎖期間其他進程操作不了文件的例子,可以用下面給出的demo

log.php

$file = 'log.txt';
$fp = fopen($file, 'a+');
if(!is_writable($file)){
  exit("The $file is not writable!");
}
flock($fp, LOCK_EX);
fwrite($fp, 'here');
sleep(10);
flock($fp, LOCK_UN);
fclose($fp);

test.php

$file = 'lock.txt';
$fp = fopen($file, 'a');
fwrite($fp, 'good'); // 在sleep期間寫不進去
fclose($fp);
// 或是直接使用下面的這個例子,發現在sleep期間打印是個空值
//var_dump(file_get_contents($file));

測試時,先運行log.php,再運行test.php,會發現在sleep期間,test.php是執行達不到效果的。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇php打開本地exe程序,js打開本地exe應用程序,并傳遞相關參數方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP類的反射來實現依賴注入過程以及相關知識點分享,對此有興趣的朋友跟著小編學習下吧。
php遍歷一個文件夾內的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現達到清空一個目錄的效果。本文給大家分享實例代碼,需要的朋友參考
主站蜘蛛池模板: 亚洲精品视频在线播放 | 丁香久久| www久久久 | 亚洲精品不卡 | 国产成人在线观看免费网站 | 操操操干干干 | 日本成人一区二区三区 | 国产精品视频网站 | 久久午夜精品 | 亚洲第一av网站 | 曰韩av| 亚洲永久免费视频 | 国产成人小视频 | 一级黄色片视频 | 中文一区二区 | 国产一区二区精品丝袜 | 男男巨肉啪啪动漫3d | 可以看av的网站 | 午夜专区| 日本在线| 日韩中文在线视频 | 一区二区三区在线播放 | 天天躁日日躁狠狠躁 | 欧美日韩一区二区三区视频 | 欧美黄色一级视频 | 午夜www | 欧美日韩成人在线 | 国产一级一片免费播放放a 免费国产视频 | 福利视频免费观看 | 久久精品综合 | 日本精品视频在线 | 欧美一级在线观看 | 国产精品99999 | 亚洲 欧美 激情 另类 校园 | 一级片在线播放 | 中文字幕免费视频 | 成人看 | 超碰成人网 | 一区二区黄色 | 欧美一区二区三区免费 | 国产欧美日本 |