PHP7 中的 ZipArchive 找不到 zip 内容
ZipArchive in PHP7 cannot find content of zip
我有一个 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 找不到我上传的 zips 中的任何项目?
从 PHP docs 到 ZipArchive::OVERWRITE
:
Always start a new archive, this mode will overwrite the file if it already exists.
如果您想阅读现有存档,则不能使用此标志。
我有一个 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 找不到我上传的 zips 中的任何项目?
从 PHP docs 到 ZipArchive::OVERWRITE
:
Always start a new archive, this mode will overwrite the file if it already exists.
如果您想阅读现有存档,则不能使用此标志。