我正在尝试下载文件夹中的文件my_folder
。在文件上制作 zip 文件并使用 php 下载它。这是我尝试过的。
<?php
$path = '/my_folder/path/';
$handle=opendir($path);
$files = array();
while(false!==($file = readdir($handle)))
{
$files[] = $path . $file;
}
$zipname = 'file.zip';
$zip = new ZipArchive;
if($zip->open($zipname, ZipArchive::CREATE) == TRUE){
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
}
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=filename.zip');
header('Content-Length: ' . filesize($zipname));
header("Pragma: no-cache");
header("Expires: 0");
readfile($zipname);
unlink($zipname);
?>
它似乎工作得很好。它会下载 zip 文件,但是当我尝试提取 zip 文件时,它会给出带有错误消息的密码对话框,Archieve non readable; Would you like to try a password
谁能告诉我代码有什么问题或如何避免这种对话并提取文件?