我正在使用Laravel 5.7并拥有远程服务器来上传文件。我正在尝试使用league/flysystem-sftp
将文件从应用程序服务器上传到远程服务器。一切都适用于静态文件,但现在我想在远程服务器上传ZIP
和unzip
。
对于上传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
解压缩远程服务器上的文件?
您可以使用chumper/zipper
包来提取zip文件。
您可以使用composer安装它:
composer require chumper/zipper
现在用,
$path = public_path('test.zip');
\Zipper::make($path)->extractTo('your_file_name');