首页 > 解决方案 > 如何使用 Laravel 在远程服务器上提取 zip 文件?

问题描述

我正在使用 Laravel 5.7 并有用于上传文件的远程服务器。我正在尝试使用league/flysystem-sftp. 静态文件一切正常,但现在我想上传ZIPunzip在远程服务器上。

对于上传 zip,我正在使用以下SFTP disk配置filesystems.php

'sftp' => [
    'driver'   => 'sftp',
    'host'     => 'example.com',
    'username' => 'your-username',
    'password' => 'your-password',
    'root'     => 'my/root/path/'

],

Storage::disk('sftp')->putFileAs('zip-files', new File('/path/to/zip'), 'example.zip');

我现在如何在远程服务器上提取这个上传的 ZIP 文件而无需编写SSH commands并尝试使用相同的包?

ZipArchive也在这个项目中使用,有没有办法在远程服务器上解压缩文件ZipArchive

标签: phplaravelsftpziparchivethephpleague

解决方案


您可以使用chumper/zipperpackage 来提取 zip 文件。

您可以使用作曲家安装它:

composer require chumper/zipper

现在使用,

$path = public_path('test.zip');
\Zipper::make($path)->extractTo('your_file_name');

推荐阅读