在PHP

时间:2017-05-12 20:13:04

标签: php laravel zip extract

我正在尝试将zip文件解压缩到storage_path中的某个文件夹(我正在使用laravel)。但我不知道为什么他们带来。(点)文件提取时,我也想提取它们而不创建另一个文件夹。这是我正在使用的代码:

某些公共职能部门内的

行:

$src = storage_path('application');
$dst = storage_path('tmp/'.time());
$zipfile = $request->file('splashicon');
$zipfile->move($dst, 'splashicon');
$this->splashIcon($dst.'/splashicon', $dst);

splashIcon函数:

public function splashIcon($src, $dst)
{
    $zip = new ZipArchive();
    $x = $zip->open($src);  // open the zip file to extract
    if ($x === true) {
        $zip->extractTo($dst.'/www'); // place in the directory with same name
        $zip->close();
        unlink($src); //Deleting the Zipped file
    }
}

目前的结果是:

1494618313/www/name.files/thecontentsofzipfile

我不知道在哪里。(点)和文件来自,请解释他们发生了什么。

顺便说一句,正确的结果应该是这样的:

1494618313/www/thecontentsofzipfile

谢谢,

1 个答案:

答案 0 :(得分:1)

这是一个laravel惯例。 的。意味着它是您目录中的子文件夹/子文件。 我真的不确定如何绕过它。

您可以查看Zipper,它是Laravel的提取助手。我相信它与提取完全匹配,而不是使用典型的Laravel语法。

https://github.com/Chumper/Zipper