在PHP中,我将使用:
file_put_contents();
写入文件。问题出现在我的脑海中,如果文件的GET请求被另一个PHP线程写入,该怎么办?该文件是半写的吗?另外,如何防止文件服务器半写?
答案 0 :(得分:0)
php文件访问只是简单的系统文件访问,互斥体不是内置的。特别是因为阅读器将是一个独立于编写器的进程。我已经看到php将两个日志消息交错到仅附加日志文件(一个消息非常大),因此不仅写入不是原子的,甚至不是附加的。
如果这是一个新文件, 您可以将其保存到隐藏名称或隐藏文件夹中,以便下载时看不到,并在完成后重命名()文件。