2011-01-20 55 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()。操作系统没有完全“为你做”。

相关问题