gpt4 book ai didi

php - ZipArchive,我需要创建新文件并覆盖现有

转载 作者:行者123 更新时间:2023-12-03 23:08:34 27 4
gpt4 key购买 nike

我正在使用 php ZipArchive,但遇到了一个简单的问题。

我需要创建新文件,如果存在同名的文件,我需要覆盖它。

我的问题是,如果我使用此代码

if ($zip->open($packageFileName, ZipArchive::OVERWRITE) === TRUE)

它将覆盖任何具有相同名称的现有文件,但是如果具有这样名称的文件不存在那么什么都不会发生,如果 case 返回 false 并且我用这个 if case 中的文件填充 zip 文件,但是因为如果文件不在上面的磁盘失败并且没有创建文件。

如果我这样做
if ($zip->open($packageFileName, ZipArchive::CREATE) === TRUE)

它将返回 true 并且文件将被创建或更新,但我不想更新文件,我需要覆盖文件。

所以我有点卡住了,我想覆盖文件,如果它不存在,我想创建它,有没有办法在一行中执行此操作,因此我不必在检查文件是否存在的多行中进行检查,并且然后选择 CREATE 或 OVERWRITE,为什么没有 CREATE_OVERWRITE 常量?

最佳答案

就像 PHP 中的错误代码一样,zip 标志也是按位相加的,这意味着您可以使用 OR (|) 将它们组合起来以执行“更多”操作

if ($zip->open($packageFileName,  (ZipArchive::CREATE | ZipArchive::OVERWRITE) ))

上面将创建一个 zip 如果它不存在其他将覆盖。所以这就是你如何做你的“CREATE_OVERWRITE”

关于php - ZipArchive,我需要创建新文件并覆盖现有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49164547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com