簡體   English   中英

使用PHP解壓縮Zip存檔

[英]Unzip The Zip Archive With PHP

我在使用PHP解壓縮zip文件時遇到問題
我在網絡上嘗試了許多共享腳本,但仍然無法正常工作
我嘗試的最后一個腳本是以下腳本:

<?php
$zip = new ZipArchive;
$res = $zip->open('data.zip');
if ($res === TRUE) {
  $zip->extractTo('/extract/');
  $zip->close();
  echo 'woot!';
} else {
  echo 'doh!';
}
?>

運行腳本時總是遇到其他情況,我嘗試替換data.zip/extract/路徑以完成路徑http://localhost/basedata/data.ziphttp://localhost/basedata/extract/但我仍然有其他情況,有人可以幫助我嗎?

這是我的整個腳本和zip文件http://www.mediafire.com/?c49c3xdxjlm58ey

您應該檢查哪個錯誤代碼可以打開( http://www.php.net/manual/zh/ziparchive.open.php ),這將為您提供幫助。

錯誤代碼是這樣的:

    ZIPARCHIVE::ER_EXISTS -10
    ZIPARCHIVE::ER_INCONS - 21
    ZIPARCHIVE::ER_INVAL - 18
    ZIPARCHIVE::ER_MEMORY - 14
    ZIPARCHIVE::ER_NOENT - 9
    ZIPARCHIVE::ER_NOZIP - 19
    ZIPARCHIVE::ER_OPEN - 11
    ZIPARCHIVE::ER_READ - 5
    ZIPARCHIVE::ER_SEEK - 4

ZipArchive使用文件路徑,而不是URL。

例如,如果您的Web服務器的文檔根目錄為/srv/www ,則指定/srv/www/basedata/data.zip (或文件在服務器本地文件系統上的任何位置), 而不是 http://localhost/basedata/data.zip

如果.ZIP文件位於遠程計算機上,請更改腳本以先下載該腳本,然后再解壓縮該文件,盡管您似乎沒有這種情況。

此外,PHP腳本用戶可以根據需要運行,以具有對Zip文件的讀取許可權和對提取文件目標位置的寫許可權。

您錯誤地聲明了$zip (ziparchive)

<?php
$zip = new ZipArchive;

缺少括號

<?php
$zip = new ZipArchive();
if ($zip->open('data.zip')) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM