2011-05-07 138 views
0

我該怎麼辦壓縮ZIP文件腳本設置在safe_mode設置上PHP提取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); 

如何你認爲我能做些什麼?

+0

怎麼不只是使用PHP的Zip功能?我確定它解壓縮,因爲我之前使用zip文件來保存配置文件模板。除非它不同於safe_mode,我不記得是否是。不過最可能的是。 – robx 2011-05-07 01:34:26

回答

1

當文件解壓縮時,它保留所有者和權限信息。在你的情況下,權限可能不允許全球訪問。如果文件的所有者與PHP運行的帳戶不同,則不能更改文件或更改權限。除非PHP以root身份運行(以及誰這樣做?)。在安全模式下,你甚至不能以root身份執行該操作。 詢問檔案歸檔人員使其爲每個人「讀&寫」。

至於問題的第二部分,您不能通過ftp協議在另一臺服務器上提取某些內容。你必須ssh進入服務器。
http://phpseclib.sourceforge.net可能在這方面的幫助