2013-06-19 170 views
0

我想上傳一個zip文件並使用php將其解壓到一個文件夾中。我使用此代碼:上傳PHP中的Zip文件

$zip = new ZipArchive;    
if ($zip->open($filename) == TRUE){      
    $zip->extractTo('Articles/');   
    $zip->close();      
    $isql="update articles set a_file='$newfile' where a_id='$fpk'"; 
    $urec=mysql_query($isql);           
} 
else {     
    echo 'failed';     
} 

但它顯示這些警告:

警告:ZipArchive :: extractTo()[ziparchive.extractto]:無效或在d 未初始化郵編對象:\ XAMPP \ htdocs中\構造\ adminhome.php上 線36

警告:ZipArchive ::關閉()[ziparchive.close]:無效或未初始化郵編對象中d:\ XAMPP \ htdocs中\構造\ adminhome.php上 第37行...

我是否應該包含ziparchive庫?如果是的話,我怎麼能這樣做?

+1

我覺得這裏是錯誤$郵編=新的ZipArchive(); –

+1

您是否已經在HP中處理文件上傳,並在嘗試打開文件之前使用'move_uploaded_file()'將文件移動到文件系統中? – 2013-06-19 10:33:24

+0

不,我沒有,我認爲它會自動上傳和提取文件...我認爲這是問題.. –

回答

0

你應該檢查open方法是否用===返回TRUE(帶有類型檢查),否則從open方法返回的一些錯誤代碼可能評估爲TRUE。

對於安裝目錄,請folow中this link

+0

實際上,在解壓文件之前我沒有上傳文件。這就是問題出現的原因。現在它解決了。 –

0
Basically problem in our open method use bellow code 

$opened = $zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); 

I think you are using php 5.2.8 it does not work and gives this warning: 
+0

實際上,我在提取它之前沒有上傳文件。這就是問題出現的原因,現在它解決了.thanx。 –