无法在 PHP 中创建 zip 存档,总是返回Ziparchive::ER_MULTIDISK
$fileName=$_SERVER['DOCUMENT_ROOT'].'/temp/temp.zip';
$zip = new ZipArchive();
$err=$zip->open($fileName,ZipArchive::CREATE);
$zipFileFunctionsErrors = array(0=>'OK',
ZIPARCHIVE::ER_MULTIDISK => 'Multi-disk zip archives not supported.',
...,
...
);
echo $zipFileFunctionsErrors[$err];
$zip->addFromString('empty.txt', '');
$zip->close();
Outputs
Multi-disk zip archives not supported
zip 文件未创建
在本地机器代码上效果很好
我认为你的问题必须与 php 版本有关,听起来是这样的:
(来自 php.net 评论):
如果 zip_open 失败,一些较旧的 PHP 版本过去会返回 false,而较新的版本会返回错误数(作为整数),所以不要这样:
$zip = zip_open($zip_file);
if ($zip) {
// consider zip file opened successfully
}
用这个:
$zip = zip_open($zip_file);
if (is_resource($zip)) {
// consider zip file opened successfully
}
听起来你正在从数组中获取第一个非数字索引,可能“1”为“true”,这就是为什么它在错误数组上显示元素“1”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)