Php 你能在远程服务器上解压.zip吗?

Php 你能在远程服务器上解压.zip吗?,php,ftp,zip,Php,Ftp,Zip,我有一个脚本可以解压服务器上的文件,但是可以解压外部或远程服务器上的文件 比如我能去吗 <?php $zip = new ZipArchive; $zip->open('ftp://user:password@host/path/file.zip'); $zip->extractTo('ftp://user:password@host/'); $zip->close(); echo "Ok!"; ?> 非常感谢您可以通过与该服务器的ssh连接尝试以下

我有一个脚本可以解压服务器上的文件,但是可以解压外部或远程服务器上的文件

比如我能去吗

<?php 
$zip = new ZipArchive; 
$zip->open('ftp://user:password@host/path/file.zip'); 
$zip->extractTo('ftp://user:password@host/'); 
$zip->close(); 
echo "Ok!"; ?>


非常感谢

您可以通过与该服务器的ssh连接尝试以下操作:

<?php
$connection = ssh2_connect('example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, 'unzip /path/to/file.zip');
?>

更多信息请点击此处:

要使用PHP在服务器上解压缩远程文件,对我来说一个相当简单的解决方案是:

  • 用ftp将zip文件(比如
    a.zip
    )传输到您希望提取它的远程文件夹

  • 创建一个php文件
    unzip.php
    ,并将其ftp到与上述zip文件相同的文件夹中

  • 将以下代码插入
    unzip.php

  • 
    
  • unzip.php
    的chmod设置为可执行

  • 从任何浏览器执行php文件-您都会得到一个确认提取的“Ok”


  • 将文件复制到您的服务器(以编程方式),然后解压。我希望动态构建一个脚本,将文件从一台服务器传输到另一台服务器并将其解压缩。是的,因此请在您的之前添加一行代码,以便在解压缩文件之前将文件复制到服务器<代码>文件放置内容('file.zip',文件获取内容('ftp://user:password@host/path/file.zip')然后
    $zip->open('file.zip')您是否为Apache安装了ZZIPlib模块?好的,上面只是一个片段,但php文件的其余部分有一个类连接到FTP->上载文件,然后zip snipper提取上载的文件,但我似乎无法找到在外部服务器上提取文件的方法。您好,感谢您的回复,但是我在运行上面的代码时遇到了一个问题,我收到“第2行调用未定义的函数ssh2_connect()”,您需要使用SSH支持编译PHP。我对PHP不是非常熟悉,但是我建议阅读并确保您在服务器上设置了ssh,并验证端口/用户名/密码您不需要重新编译PHP,只需从PECL安装ssh2包即可。