Codeigniter和上传zip文件

时间:2009-12-14 13:53:53

标签: php codeigniter file-manipulation gdlib

我目前正在使用codeigniter框架构建一个站点的后端,我遇到了一些问题,我需要一种方法来允许用户上传一个压缩的图像文件夹,在完成表单时,zipped文件夹必须解压缩,并且文件需要移动到服务器上的其他文件夹,创建每个图像的缩略图版本并将文件名添加到数据库中,如果图像是针对尚未添加的内容类型的图像然后我需要创建一个具有该内容类型的目录。

我知道Codeigniter中有一个上传课程,但我不确定,有能力做我需要的,我真的可以做一些建议吗?

由于

2 个答案:

答案 0 :(得分:4)

正如Jan所指出的,这是一个广泛的问题(如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/');

答案 1 :(得分:3)

您无法使用Upload类进行任何图像或文件检查。上传课程将允许您接受该文件,并检查它是否为ZIP,但这是最好的。

从那里,unzip文件,然后在文件上做一些简单的PHP来检查它们是正确的类型并制作你的文件夹等。我会把这个逻辑放在一个新的库中,以保持它正确分开。