在PHP中从zip中将特定文件提取到目标

时间:2016-08-10 15:31:16

标签: php laravel-5 zip

我的zip包含这样的

搜索并找到几乎相似但不完全合格的我 Link 1 &安培; Link 2

activity_plugin

  • SRC
    • 控制器
      • SomeController.php
      • SomeOtherController.php

我想将这两个文件而不是整个目录解压缩到Laravel框架中的目标目录app / Http / Controller。

我能够用root目录解压缩整个src>控制器>文件但我只想将文件解压缩到目的地。我怎么能实现呢?

到目前为止尝试了代码 -

$destinationPath = 'resources/plugins/';
$file_path = $destinationPath.$fileName;
$zip = new \ZipArchive();
$zip->open($file_path);
$zip_bool = zip_open($file_path);
if ($zip_bool) {
    while ($zip_entry = zip_read($zip_bool)) {
         if (substr(strrchr(zip_entry_name($zip_entry), '/'), 1)) {
            $plugin = substr(strrchr(zip_entry_name($zip_entry), '/'), 1);

            if (basename(dirname(zip_entry_name($zip_entry))) == "Controllers") {
                $dir = app_path()."/Http/Controllers";
                $path = zip_entry_name($zip_entry);
                $zip->extractTo($dir, $x);
            }

            $dir = explode('/', zip_entry_name($zip_entry));
            array_pop($dir);
            $newpath = implode('/', $dir);
        }
    }                                  
}

0 个答案:

没有答案