如何建立或附加文字到檔案
您正在嘗試建立或附加到名為「logs.txt」的文字檔案每次用戶登入或登出您的網站時。但是,您目前的程式碼在附加資料或建立不存在的檔案時遇到問題。
您的原始程式碼使用「wr」模式開啟文件,該模式會開啟檔案進行寫入並截斷文件檔案長度為零。要附加數據,您應該使用“a”模式,該模式打開文件進行寫入並附加到文件末尾。
此外,如果多個使用者嘗試訪問,您的程式碼很容易出現競爭條件同時文件。為了防止這種情況,您可以將 LOCK_EX 標誌與 FILE_APPEND 結合使用。這將獲得檔案的獨佔鎖,確保一次只有一個進程可以寫入該檔案。
這是解決這些問題的程式碼的改進版本:
<code class="php">$txt = "user id date"; $myfile = file_put_contents('logs.txt', $txt.PHP_EOL, FILE_APPEND | LOCK_EX);</code>
此程式碼將以附加模式建立或開啟「logs.txt」文件,確保新資料附加到文件末尾。它還在寫入時取得檔案的排他鎖,防止多個使用者同時寫入檔案。
以上是如何在 PHP 中安全地將文字附加到文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!