php在safe_mode上提取zip文件

时间:2011-05-07 00:44:49

标签: php ftp extract

如何在 safe_mode

中执行解压zip 文件以进行脚本设置

我正在尝试这个

   require_once('pclzip.lib.php');
   $archive = new PclZip('archive.zip');
   if (($v_result_list = $archive->extract()) == 0) {
     die("Error : ".$archive->errorInfo(true));
   }
   echo "<pre>";
   var_dump($v_result_list);
   echo "</pre>";

但我在提取的目录上出现了OWNER错误

如何我能解决这个问题,或者我想再次连接到这个ftp并将文件上传并提取到此ftp

   $local_file = './arcive.zip';
   $ftp_path = '/extract';
   $conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
   ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
   $upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);

你觉得我怎么做

1 个答案:

答案 0 :(得分:1)

解压缩文件时,会保留所有者和权限信息。在您的情况下,权限可能不允许全局访问。如果文件的所有者与PHP运行的帐户不同,则无法刷新文件或更改权限。除非PHP以root身份运行(以及谁这样做?)。在安全模式下,您甚至无法以root身份执行此操作。 询问归档文件的人是否为每个人“读取和写入”。

至于问题的第二部分,你不能通过ftp协议在另一台服务器上提取某些东西。你必须ssh到服务器。
http://phpseclib.sourceforge.net可能对此有所帮助