【发布时间】:2018-03-08 02:45:26
【问题描述】:
我正在使用 php ZipArchive,但遇到了一个简单的问题。
我需要创建新文件,如果存在同名的现有文件,我需要覆盖它。
如果我使用此代码,我的问题是这样的
if ($zip->open($packageFileName, ZipArchive::OVERWRITE) === TRUE)
它将覆盖任何具有相同名称的现有文件,但是如果具有这样名称的文件不存在,则不会发生任何事情,如果 case 返回 false 并且我在此 if 案例中使用文件填充 zip 文件,但因为如果文件是not on the disk 失败,没有文件被创建。
如果我这样做
if ($zip->open($packageFileName, ZipArchive::CREATE) === TRUE)
它将返回 true 并且文件将被创建或更新,但我不想更新文件,我需要覆盖文件。
所以我有点卡住了,我想覆盖文件,如果它不存在,我想创建它,有没有办法在一行中执行此操作,所以我不必在多行中检查文件存在,然后选择 CREATE 或 OVERWRITE,为什么没有 CREATE_OVERWRITE 常量?
【问题讨论】:
标签: php ziparchive