php - 如果我在执行时覆盖文件本身会发生什么(使用ZipArchive)

时间:2018-02-13 12:45:25

标签: php overwrite ziparchive

正如问题本身所述,我想替换打开zip存档的文件,然后用新版本覆盖文件。

如果我的问题仍然不明确,那么我想要做的是我想从服务器获取一个zip文件,然后使用CLASS" ZipArchive"解压缩。然后将Zip中的每个文件写到目标位置,问题将是发生此事情的php文件将被覆盖。

那么php会生成错误,或者进程会出现在我们想要的任何地方吗?

1 个答案:

答案 0 :(得分:0)

On Linux文件通常不会被锁定(请参阅https://unix.stackexchange.com/questions/147392/what-is-advisory-locking-on-files-that-unix-systems-typically-employs),以便您可以使用该文件执行任何操作。 PHP在内存中使用该文件,因此您可以在执行期间覆盖它。

但是如果您在第一个脚本正在进行中多次运行该脚本,它可能会加载不完整的版本,然后它会抛出一些错误,因此确保不会发生(使用锁定)可能是明智的或尝试做一些更原子的方法。

Windows锁定文件,因此我假设您无法以相同的方式提取文件。