【问题标题】:Laravel and ZipArchive - nvalid or uninitialized Zip objectLaravel 和 ZipArchive - 无效或未初始化的 Zip 对象
【发布时间】:2016-10-26 12:54:44
【问题描述】:

我需要使用服务器上的某个文件创建一个 zip。
我从这里使用了Zipper,但它不允许我在添加文件时添加自定义名称,所以我打开了ZipArchive

代码如下:

$zipper      = new \ZipArchive();

foreach ($tracks as $track) {
   $trackName = $track->name;
   $trackPath = $customUploads->getCustomTrackFilePath($track, true);
   $zipper->addFile($trackPath, $trackName);
}

$zipper->close();

这里的错误:

PlaylistController.php 第 223 行中的 ErrorException: ZipArchive::addFile(): 无效或未初始化的 Zip 对象

我尝试添加此控件,但在执行时我收到 dd() 消息,因此看起来无法创建。

if( $zipper->open($zipName) !== true ){
            dd('no');
        }

奇怪的是,顶部链接的库会创建 zip。
我的错误在哪里?

【问题讨论】:

    标签: php ziparchive


    【解决方案1】:

    您缺少Zip::open 函数的第二个参数flags。请在此处查看手册http://php.net/manual/en/ziparchive.open.php

    $zipper = $zip->open('test.zip', ZipArchive::CREATE);
    

    【讨论】:

    • 该死,你是对的,谢谢。我已将解决方案添加到您的答案中。
    猜你喜欢
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2017-11-03
    相关资源
    最近更新 更多