2009-12-14 134 views
3

我目前正在建立一個使用codeigniter框架的網站的後端,我遇到了一些問題,我需要一種方法來允許用戶上傳圖像的壓縮文件夾,完成窗體中,壓縮文件夾必須解壓縮,並且需要將文件移動到服務器上的其他位置,創建每個圖像的縮略圖版本,並將文件名添加到數據庫,並且如果圖像是針對內容的類型不存在,那麼我需要製作一個具有該內容類型的目錄。Codeigniter和上傳zip文件

我知道在Codeigniter中有一個上傳類,但我不確定這是否有能力做我需要的東西,我真的可以做一些建議嗎?

由於

+0

這是一個相當廣泛的問題和一個具體的問題。你有什麼問題? – 2009-12-14 14:09:40

+0

我遇到的特殊問題是,我無法找到一種解壓縮zip的方法並循環遍歷所有內容。 – Udders 2009-12-14 14:32:46

回答

3

您將無法做任何使用文件上傳類檢查圖像或文件。上傳課程會讓你接受這個文件,並檢查它是一個ZIP文件,但是就這一點而言。

從那裏,unzip該文件,只是做一些簡單的PHP文件,以檢查他們是正確的類型,並使您的文件夾等。我會把這個邏輯在一個新的庫,以保持它正確分離。

+0

感謝菲爾,認爲這可能就是我所尋找的:-) – Udders 2009-12-14 14:50:37

+0

嗨,你提供的鏈接已損壞。你能否更新它? – 2015-09-30 12:45:56

+0

該軟件包位於:https://github.com/philsturgeon/codeigniter-unzip我建議您使用其他任何東西。即使你使用CodeIgniter,你也應該去Packagist並安裝通用包。試試這個https://packagist.org/search/?tags=unzip – 2015-12-03 15:15:23

4

作爲揚指出的那樣,這是一個廣泛的問題(如3個或4個問題)。我不是最新與CodeIgniter的框架,但解壓文件,你可以做這樣的事情:

function Unzip($source, $destination) 
{ 
    if (extension_loaded('zip') === true) 
    { 
     if (file_exists($source) === true) 
     { 
      $zip = new ZipArchive(); 

      if ($zip->open($source) === true) 
      { 
       $zip->extractTo($destination); 
      } 

      return $zip->close(); 
     } 
    } 

    return false; 
} 

Unzip('/path/to/uploaded.zip', '/path/to/extract/');