2011-01-20 57 views
2

可能重複:
PHP Simultaneous File Writesphp如果兩個人同時追加會發生什麼?

你好,

如果我有一個PHP腳本和一個文本文件和2個用戶在追加一個長文本字符串文本文件同時,會發生什麼?它會繼續嗎?它是否被緩衝,所以都被附加在上面,還是會被丟棄?

+0

** PHP同時文件寫入**的可能重複。那裏的答案也應該涵蓋這個問題:http://stackoverflow.com/questions/1209688/php-simultaneous-file-writes – 2011-01-20 22:18:52

回答

-1

通常,操作系統會在寫入過程中鎖定文件,因此其他進程必須等待寫入過程完成才能開始寫入。

因此它應該包含一個客戶端的延遲或fopen()期間的PHP警告/錯誤。取決於代碼的工作方式以及使用的功能。

0

使用fopenc模式參數,可以強制文件變得鎖定,直到你fclose文件。這將不允許多人同時寫入文件。通常,文件系統會默認執行此操作(取決於操作系統配置),但是,使用模式參數將覆蓋您的基礎。

PHP: fopen

0

的細節將取決於平臺和寫入數據的大小,但如果兩個過程將開始,在該文件中的同一位置寫,最後一個常勝可以這麼說。但是,您最終也可能會交錯數據,特別是在一次編寫大量數據時。

看看flock()。操作系統沒有完全「爲你做」。

相關問題