【问题标题】:ZipArchive in PHP7 cannot find content of zipPHP7中的ZipArchive找不到zip的内容
【发布时间】:2017-11-20 12:56:51
【问题描述】:

我有一个 PHP 脚本可以从表单中解压缩一个 zip 文件, 但是无论我在 zip 中放入什么内容,打开的 zip 都找不到这些项目。 当我var_dump()我的 zip 时,我得到了这个:

object(ZipArchive)#800 (5) {
    ["status"]=> int(0) ["statusSys"]=> int(0) 
    ["numFiles"]=> int(0) 
    ["filename"]=> string(14) "/tmp/php83KJHe" 
    ["comment"]=> string(0) ""
} 

这是脚本:

$zip     = new  \ZipArchive();
$zipname     = $_FILES[ 'lezip' ][ 'tmp_name' ];
$zip->open( $zipname, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE );
var_dump( $zip );
$zipsuccess = $zip->extractTo( $destination );
var_dump( ' success: ' . $zipsuccess );

成功转储说没问题

string(11) " success: 1" 

我确实设置了 $destination 文件夹,它存在并且具有写入权限。

为什么 ZipArchive 在我上传的 zip 中找不到任何项目?

【问题讨论】:

  • 调试:$open_status = $zip->open(...); var_dump($open_status);请分享输出。

标签: php zip extract ziparchive


【解决方案1】:

来自PHP docsZipArchive::OVERWRITE

总是开始一个新的存档,如果文件已经存在,这种模式会覆盖文件。

如果您想读取现有存档,则不能使用此标志。

【讨论】:

  • 太好了,它只通过设置标志 CREATE 来工作,谢谢
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 2016-09-20
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
相关资源
最近更新 更多