使用WordPress页面数组中包含的图像创建zip

问题描述 投票:0回答:1

我的文件已经在服务器上。我创建了一个具有文件完整路径的数组。文件名正确解析。

$files = array($sm_image1ok, $sm_image2ok, $sm_image3ok, $sm_ambianceok, $sm_planok, $sm_mobilierok, $sm_rapportok);

我有一个经典的wordpress上传路径:

$zipname = 'https://www.siteurl.com/wp-content/uploads/wpfile'.$post->ID.'.zip';

我尝试使用以下代码创建zip文件

$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
   $zip->addFile($file);
}
echo "Number of files : " . $zip->numFiles . "\n";
echo "Status :" . $zip->status . "\n";
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

这是我的下载链接:

<a href="'.$zipname.'">Download files.</a>

我的文件数和我的状态显示为“ 0”。当我单击链接时,它将打开一个没有结果的页面(未知页面)。我希望弹出zip下载模式窗口而不是新页面。没有在服务器上创建zip文件。我是站点管理员,所以我具有写权限。我的“上载”文件夹的权限设置为705。有人可以指出我正确的方向吗?

php wordpress header zip ziparchive
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.