[英]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.zip
和http://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.