为什么 ZipArchive 工作不正确?

Why ZipArchive working not correct?

这是我的代码 zip 1 文件:

 $zipname="C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf.zip"
    $zip = new ZipArchive;
         $zip->open($zipname, ZipArchive::CREATE);                     
         $zip->addFile("C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf");       
         $zip->close();

但是它是从文件夹 C:\

为什么 ZipArchive 工作不正确?

您需要在addFile 函数中传递两个参数。

根据the documentation

bool ZipArchive::addFile ( string $filename [, string $localname ] )

filename The path to the file to add.

localname local name inside ZIP archive.

这意味着第一个参数是文件系统中实际文件的路径,第二个参数是文件在存档中的路径和文件名。

以下代码适合您

$zip->addFile("C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf", "5_1.0.pdf");