dongqing6661 2014-02-07 08:56
浏览 74
已采纳

php ZipArchive - 仅添加不是父文件夹的文件

I am creating a zip archive in php and want to add some pdf files available in my pdfs_lib folder.I have successfully created the archive but there is a problem that inside the created zip archive, files get added into pdfs_lib folder, which is not what i want.

I want to add pdf files present in pdfs_lib folder directly into the archive instead of adding those files inside pdfs_lib folder in my created zip archive.

What i have tried is:

    // Create Zip File
    $zip = new ZipArchive;
    $res = $zip->open("pdfs_lib/my_zip_archive.zip", ZipArchive::CREATE);
    if ($res === TRUE)
    {
        // Add pdf file to zip archive
        $zip->addFile("pdfs_lib/pdf_file_1.pdf");
        $zip->addFile("pdfs_lib/pdf_file_2.pdf");

        $zip->close();
        echo 'ok';
    } else {
        echo 'failed';
    }

This code creates the zip archive successfully but whwen i unzip the archive it creates a pdfs_lib folder and unzip all files inside this newly created folder.

Any suggestion on how to create a zip archive without add pdf_lib folder in it.

  • 写回答

2条回答 默认 最新

  • douxi9245 2014-02-07 09:03
    关注

    Change the addFile calls to:

    $zip->addFile("pdfs_lib/pdf_file_1.pdf", "pdf_file_1.pdf");

    The second parameter is the 'localname', the name used in the zipfile itself. If you leave out the folderpath there, it will be added to the root in the zipfile.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?