1

我正在尝试下载文件夹中的文件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 谁能告诉我代码有什么问题或如何避免这种对话并提取文件?

4

0 回答 0