您好,登錄后才能下訂單哦!
這篇文章主要介紹了php能不能清除文件內容,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。
php能清除文件內容,其實現方法是:首先創建一個PHP示例文件;然后通過“fopen($path, "r+");”打開文件;最后通過“if( flock($fh, LOCK_EX) ){...}”方式清除文件內容即可。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
具體問題:
php清空文件內容?
請問在php中怎么清空一個文件的內容,不用fopen($file, 'w+')的方式。
我的需求是這樣,要保證寫文件之后上次的內容全部刪除,直接覆蓋寫的話只會覆蓋到我這次寫的內容結束,如果舊內容比新內容長,那么會剩余,而且php程序要一天24小時一直運行的,還要保證運行效率,我試過fopen()的方法,結果發現在關閉和打開文件資源時候浪費了很多時間,我本機測試開啟文件鎖,每次又用fopen()方式清空文件的時候每秒鐘只能能執行5000次,如果只是讀取和寫入,每秒鐘能夠執行近20萬次,所以想咨詢下有沒有其他的方法來實現這個目的。
實現代碼如下:
$fh = fopen($path, "r+"); if( flock($fh, LOCK_EX) ){//加寫鎖 $old_content=json_decode(fread($fh,filesize($path)),true); $old_content=$old_content.$new_content; ftruncate($fh,0); // 將文件截斷到給定的長度 rewind($fh); // 倒回文件指針的位置 fwrite($fh,json_encode($old_content)); // @chmod($path,0644); flock($fh, LOCK_UN); //解鎖 } fclose($fh);
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php能不能清除文件內容”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。