我目前正在使用codeigniter框架构建一个站点的后端,我遇到了一些问题,我需要一种方法来允许用户上传一个压缩的图像文件夹,在完成表单时,必须解压缩压缩文件夹,并且文件需要移动到服务器上的其他文件夹,创建每个图像的缩略图版本并将文件名添加到数据库中,并且如果图像用于不存在的内容类型,那么我需要创建一个具有该内容类型的目录。
我知道 Codeigniter 中有一个上传类,但我不确定它是否具有满足我需要的功能,我真的可以提供一些建议吗?
谢谢
我目前正在使用codeigniter框架构建一个站点的后端,我遇到了一些问题,我需要一种方法来允许用户上传一个压缩的图像文件夹,在完成表单时,必须解压缩压缩文件夹,并且文件需要移动到服务器上的其他文件夹,创建每个图像的缩略图版本并将文件名添加到数据库中,并且如果图像用于不存在的内容类型,那么我需要创建一个具有该内容类型的目录。
我知道 Codeigniter 中有一个上传类,但我不确定它是否具有满足我需要的功能,我真的可以提供一些建议吗?
谢谢
正如 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/');
您将无法使用 Upload 类进行任何图像或文件检查。上传类将让您接受文件并检查它是否为 ZIP,但仅此而已。
从那里,解压缩文件,然后对文件执行一些简单的 PHP 操作,以检查它们的类型是否正确并制作文件夹等。我会将这个逻辑放在一个新库中以保持正确分离。