2009-12-14 145 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/');