你能解压缩远程服务器上的.zip吗?

时间:2011-08-17 04:52:06

标签: 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!"; ?>

非常感谢

2 个答案:

答案 0 :(得分:2)

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

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

更多信息: http://www.php.net/manual/en/function.ssh2-exec.php

答案 1 :(得分:2)

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

  1. 将zip文件(例如a.zip)ftp到要解压缩的远程文件夹

  2. 创建一个php文件unzip.php并将其ftp到与上面的zip文件相同的文件夹

  3. 将以下代码插入unzip.php

  4. <?php 
      $zip = new ZipArchive; 
      $zip->open('a.zip');
      $zip->extractTo('x/'); 
      $zip->close(); 
      echo "Ok!"; 
    ?>
    
    1. unzip.php的chmod设置为可执行文件

    2. 从任何浏览器执行php文件 - 你得到确认提取的'确认'