我目前正在开发一个网站,客户可以在其中下载packshots等品牌图片。我制作了一个定制购物车,客户应该能够下载使用ZipArchive添加到购物车中的所有图像。但如果不是WordPress(通常是这样),它似乎很容易工作。
我的代码:
$files = array(\'test.jpg\', \'test2.jpg\');
$zipname = \'images.zip\';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
header(\'Content-Type: application/zip\');
header(\'Content-disposition: attachment; filename=\'.$zipname);
header(\'Content-Length: \' . filesize($zipname));
readfile($zipname);
起初,我出现了错误:警告:无法修改标题信息-标题已由发送(输出开始于,但我通过init操作解决了此问题。
第二个问题是没有下载zip。
我的问题是,这里是否有人在WP中使用过ZipArchive,能够显示一些示例代码。或者有任何有用的提示。
谢谢
SO网友:Ravi
我使用以下代码在WordPress的根文件夹中成功创建了zip文件:
$files = array(__DIR__.\'/test.jpg\', __DIR__.\'/screenshot.png\');
$zipname = \'images.zip\';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE) or die(\' cant open \');
foreach ($files as $file) {
if( $zip->addFile($file)){
echo "<br>$file Added To Zip Sucessfully";
}else {
echo "<br>Can not add $file file";
}
}
$zip->close();
if(file_exists($zipname)){
echo "<a href=\'$zipname\' download> Download $zipname</a> ";
}else{
echo "$zipname not Exists!";
}
我使用
__DIR__
并通过打印消息来测试每个步骤。如果未自动下载,则可以提供下载链接。我希望这有帮助。