我错过了什么?我似乎无法让zip实际创建一个名为" plugin"的文件夹。然后将内容添加到zip中的该文件夹。这是我的代码。我试过调整几乎所有内容,似乎没有任何东西可以先创建文件夹,然后添加内容。
function zipFiles($file_names, $ftp_user, $archive_file_name, $file_path){
$zip = new ZipArchive('plugin');
//create the file and throw the error if unsuccessful
if ($zip->open($file_path . '/' . $archive_file_name, ZIPARCHIVE::CREATE )!==TRUE){
exit("cannot open <$archive_file_name>\n");
}
foreach($file_names as $files){
$zip->addFile($file_path . '/plugins/', $files);
}
$zip->close();
$zip_file = 'users/' . $ftp_user . '/' . $archive_file_name;
header("Content-type: application/zip");
header("Content-disposition: attachment; filename=\"" . basename($zip_file) . "\"");
header("Pragma: no-cache");
header("Expires: 0");
readfile("$zip_file");
exit;
}
如果有帮助 - 有一个名为插件的实际文件夹驻留在服务器上,所以如果拉链更容易,那就没问题。