3

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

我知道 Codeigniter 中有一个上传类,但我不确定它是否具有满足我需要的功能,我真的可以提供一些建议吗?

谢谢

4

2 回答 2

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/');
于 2009-12-14T14:29:23.187 回答
3

您将无法使用 Upload 类进行任何图像或文件检查。上传类将让您接受文件并检查它是否为 ZIP,但仅此而已。

从那里,解压缩文件,然后对文件执行一些简单的 PHP 操作,以检查它们的类型是否正确并制作文件夹等。我会将这个逻辑放在一个新库中以保持正确分离。

于 2009-12-14T14:35:30.143 回答