2012-03-04 48 views
1

我有下載的zip歸檔文件以股代息,我需要提取ZIP壓縮包是我曾嘗試過各種東西的內容目錄,這是最後一次。用php解壓文件?

mkdir("/home/site/public_html/".$db."", 0777); 

    $url = 'http://wordpress.org/latest.zip'; 
    $path = "/home/site/public_html/".$db."/latest.zip"; 

    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    $data = curl_exec($ch); 

    curl_close($ch); 

    file_put_contents($path, $data); 

    $zip = new ZipArchive; 
    $zip->open("/home/site/public_html/".$db."/latest.zip"); 
    $zip->extractTo("/home/site/public_html/".$db."/"); 
    $zip->close(); 

的zip文件下載只需很好,但它不會提取。有另一種方法可以提取文件嗎?

+0

不確定我關注,是不是'extatcTo()'將'open()'中使用的zip文件的內容解壓到你作爲參數傳遞的路徑中? – 2012-03-04 00:20:39

+0

那麼,理想的情況是,這是應該發生的事情,但事實並非如此。該zip文件下載但不提取。 – user715564 2012-03-04 00:21:32

回答

1

這聽起來像是一個權限錯誤;許多託管提供商(以及良好的安全實踐)爲Web用戶(運行PHP)提供有限的權限(例如Web目錄中沒有寫入)是很常見的。查看是否可以通過提高error_reporting級別(http://php.net/manual/en/function.error-reporting.php)獲得有關失敗的更多信息,如果這是問題,則可以使用suexec解決。 (http://www.alain.knaff.lu/howto/PhpSuexec/)小心!

+0

即使zip下載正常,提取該文件時可能仍存在權限問題? – user715564 2012-03-04 00:36:34

+0

這是一個權限問題。我需要給予正確的文件夾讀/寫權限。謝謝! – user715564 2012-03-04 05:23:46

+0

太棒了!但是,應用程序中的安全漏洞可能會導致其他數據被刪除。儘量避免保留該文件夾中的其他重要內容。 – David 2012-03-04 21:15:19