如果文件(word文档)在PHP中上传时处于打开状态,该怎么办


What if file(word document) is open while upload in PHP?

在我的网站上,我创建了上传MS Word文档的功能。

我正在使用以下PHP函数移动该文件

move_uploaded_file($_FILES['upload_file']['tmp_name'],$path);

我只是想知道如果文件(word文档)在上传时打开会发生什么?

它是否会产生任何问题或错误?

取决于Word的行为方式。如果它正在写入过程中,那么你会得到一个损坏的文件,或者操作系统会让浏览器在上传之前等待。但这种情况很少发生。

如果文档已打开,但Word当前未在编写,则您将获得该文件的旧版本或半保存的损坏状态。

最好不要冒险,并告诉用户先关闭文件。

文本编辑器对打开的文件没有任何保留-它们将文件加载到内存中,然后在您点击save时将其保存出来。所以不,如果一个文件在上传时是打开的,那就没有问题了。我也不担心上传中期的保存(re:@Joe)-相信浏览器和操作系统会帮你解决这个问题。理论上,任何文件都可以在上传过程中进行修改,但在实践中不会发生这种情况。