【问题标题】:Why is my code not creating a zip folder and adding files/logo into it?为什么我的代码没有创建 zip 文件夹并将文件/徽标添加到其中?
【发布时间】:2021-11-09 01:13:07
【问题描述】:

我已经解决了前面的问题,现在它创建了一个 zip 文件并添加了特定文件夹中的所有文件,但是 zip 文件不在我想要的位置,zip 文件只是在公共文件夹中,如何我是否可以创建压缩文件并在公司文件夹中?

$companyLogoURL = '';
if ($companyLogo) {
    //create folder if not exist
    $destinationPath = 'uploads/company/';
    if (! file_exists($destinationPath)) {
        mkdir($destinationPath, 0777, true);
    }

    $imageExt = $companyLogo->getClientOriginalExtension();
    $imageName = time().$customer_id.'.'.$imageExt;
    $imageFormats = ['jpg', 'png', 'gif', 'bmp', 'jpeg', 'PNG', 'JPG', 'JPEG', 'GIF', 'BMP','svg'];

    //check video validation
    $getFileSize = $companyLogo->getSize();
    if ($getFileSize <= $this::FILE_SIZE_THREE_MB) {
        if (in_array($imageExt, $imageFormats)) {
            $companyLogo->move($destinationPath, $imageName);
            $companyLogoURL = $imageName;

            $zip = new ZipArchive();
            $zip_name = $imageName.".zip";
            if($zip->open(public_path($zip_name), ZIPARCHIVE::CREATE)===TRUE){
            
                $files = File::files(public_path('uploads/company'));
                foreach($files as $key => $value){
                    $samefileNameinZip = basename($value);
                    $zip->addFile($value, $samefileNameinZip);
                }
                $zip->close(); 
            }
        }

如果您有任何建议或您注意到我做错了什么,请告诉我。

谢谢,非常感谢。

【问题讨论】:

  • 您是否收到任何错误/警告?任何输出?您是否收到“不工作!!”您添加的消息?
  • 这个问题和your last question有什么不同?
  • 不,我没有收到任何错误,它只是没有创建 zip 文件夹或将文件添加到 zip 文件夹中。

标签: php laravel ziparchive php-zip-archive


【解决方案1】:

尝试以下方法检查错误:

$result = $zip->open($zip_name, ZIPARCHIVE::CREATE);

if($result !==TRUE){

   dd($result)

}

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
【解决方案2】:

首先我会尝试给出文件的绝对路径,以确保我转到正确的目录。我还会检查文件夹权限。

【讨论】:

  • 是的,就我而言,该目录似乎是正确的,我使用的是 laravel 并且该目录位于公共文件夹中,所以我相信文件夹权限没有任何问题。
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
猜你喜欢
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多