我有一个网站,人们提交内容,然后插入到一个集体的形象。我的代码有效,但到目前为止我发现了一个问题:图像文件写入:安全的方式来锁定文件
如果2个人试图同时写入(同时提交),这会导致输出文件变为0KB,它只是一个空文件。
我使用的是输出缓冲区写,GD2和file_put_contents像这样:
ob_start();
imagejpeg($map);
file_put_contents(MAP, ob_get_contents(), FILE_BINARY);
ob_end_clean();
什么我不知道是什么东西着手解决这一问题的最佳方法是什么?
谢谢!
我考虑过这个。但是这不会使这个文件对于两个人中的一个不可写入,并且返回关于文件不可写入的丑陋错误吗? – fiiv 2011-05-24 22:16:36
尝试获取锁的第二个脚本应等到锁释放。 – rid 2011-05-24 22:17:39
@MT会,但即使他们的行动将由一些智能互斥体(我有一个:)),第二个用户将覆盖第一个用户的所有数据。 – 2011-05-24 22:18:41