如何使用Laravel在远程服务器上提取zip文件?

时间:2019-03-25 09:38:10

标签: php laravel sftp ziparchive thephpleague

我正在使用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');

我现在如何在不编写SSH commands的情况下在远程服务器上提取此已上传的ZIP文件并尝试使用相同的软件包?

我也在该项目中也使用了ZipArchive,是否有任何方法可以使用ZipArchive在远程服务器上解压缩文件?

1 个答案:

答案 0 :(得分:0)

您可以使用chumper/zipper包提取zip文件。

您可以使用composer安装它:

composer require chumper/zipper

现在使用

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