Php ZipArchive::close返回false
嗨,我正在尝试创建一个新的zip文件,我已经重新编译了PHP启用zip,这是我的代码Php ZipArchive::close返回false,php,zip,Php,Zip,嗨,我正在尝试创建一个新的zip文件,我已经重新编译了PHP启用zip,这是我的代码 if($_SERVER['REQUEST_METHOD'] == "POST"){ $zip = new ZipArchive; if($zip->open("/home/user1joe/public_html/upload/test.zip",ZIPARCHIVE::CREATE)!= true) {
if($_SERVER['REQUEST_METHOD'] == "POST"){
$zip = new ZipArchive;
if($zip->open("/home/user1joe/public_html/upload/test.zip",ZIPARCHIVE::CREATE)!= true) {
echo "error file did not up upload";
exit(0);
}
foreach ($_FILES["images"]["error"] as $key => $error)
if ($error == UPLOAD_ERR_OK) {
$temp_name = $_FILES["images"]["tmp_name"][$key];
$new_name = $_FILES['images']['name'][$key];
var_dump($temp_name);
var_dump($new_name);
if(file_exists($temp_name)){
$zip->addFile($temp_name,$new_name);
move_uploaded_file($temp_name, "upload/".$new_name);
} else
echo "error file does not exist";
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
}
$res = $zip->close();
var_dump($res);
}
$zip->close()返回false,未创建任何zip
- 在这方面我没有错误
- $zip->numFiles显示存档中有文件
- 我要在其中创建zip的文件夹具有可写权限
但是,您正在使用move\u uploaded\u file()调用从原始位置删除输入文件。您不应该在存档之前移动\u uploaded文件吗?
$zip->close()
返回false表示无法保存zip文件。您可能没有足够的权限在您尝试创建的位置创建文件。嘿,伙计们,抱歉,这有点混乱。move_upload只是为了测试我是否真的有权在我想要放置zip的相同位置创建文件。这些文件存储在$_files[“images”][“tmp_name”][$key]位置。但zip文件可能与move_上载的文件不在同一目录中。一条路径是相对路径,另一条路径是绝对路径,它们位于同一位置。我放弃了这个策略,使用了一个shell命令