存档文件时出错';zipArchive::close()读取错误:c://';使用PHP?

存档文件时出错';zipArchive::close()读取错误:c://';使用PHP?,php,html,file,download,ziparchive,Php,Html,File,Download,Ziparchive,我正在使用PHP下载一些文件作为zip文件夹,请参见下面的代码, 它向我显示了这个错误zipArchive::close()读取错误:C://路径中没有这样的文件或目录 我在单击时添加了HTML按钮,以获取行的id以下载其文件 if (isset($_GET['zip'])) { $zip_id = $_GET['zip']; $query4 = "select f.id f.file_name, f.path, r.user_id from register r " .

我正在使用PHP下载一些文件作为zip文件夹,请参见下面的代码, 它向我显示了这个错误zipArchive::close()读取错误:C://路径中没有这样的文件或目录

我在单击时添加了HTML按钮,以获取行的id以下载其文件

if (isset($_GET['zip'])) {
$zip_id = $_GET['zip'];

  $query4 = "select f.id f.file_name, f.path, r.user_id from register r "
        . "join files f on f.register_id =r.user_id "
        . "where r.user_id=$zip_id";   
$result4 = mysqli_query($con, $query4);
if (($result4)) {
    while ($row = mysqli_fetch_array($result4)) {
        $document[$row['id']] = array(
            'id' => $row['id'],
            'file_name' => $row['file_name'],
            'path' => $row['path']
        );
    }
}
 // folder to load files  
if (extension_loaded('zip')) {
    // Checking ZIP extension is available  
    foreach($document as $f){
         $files[]='uploads/'.$f['path'];
    }
    if ($files != null) {

    // Checking files are selected  
        $zip = new ZipArchive(); // Load zip library   
        $zip_name = 'folder.zip';           // Zip name  
        if ($zip->open($zip_name, ZIPARCHIVE::CREATE) !== TRUE) {
            // Opening zip file to load files  
            $error .= "* Sorry ZIP creation failed at this time";
        }
        foreach ($files as $file){
        $zip->addFile($file,$file);} // Adding files into zip  

        $zip->close();
        if (file_exists($zip_name)) {
            // push to download the zip  
            header('Content-type: application/zip');
            header('Content-Disposition: attachment; filename="' . $zip_name . '"');
            readfile($zip_name);

            // remove zip file is exists in temp path  
            unlink($zip_name);
        }
    } else {
        $error .= "*  no file to zip ";
    }
} else {

    $error .= "* You dont have ZIP extension";
}

}我在代码中找到了错误。我已经在while循环中声明并初始化了$document数组,该循环没有为zipArchive()定义。因此,它无法看到它,然后返回null


我在while循环中定义了$files的创建

您的代码易受SQL注入攻击。你应该使用事先准备好的陈述。请阅读:@Dharman如果我按照您的要求准备代码,它会解决我最近的问题吗!!这不是我的要求。我警告您,您的代码包含一个非常严重的错误。它可能会解决你的问题,但它可能是一个独立的问题,你问什么。