Вопрос

В настоящее время я создаю серверную часть сайта, используя платформу codeigniter, я столкнулся с небольшой проблемой, мне нужен способ разрешить пользователю загружать архивированную папку с изображениями, после заполнения формы архивированная папка должна быть разархивирована, а файлы должны быть перемещены в папку в другом месте на сервере, создать уменьшенную версию каждого изображения и добавить имя файла в базу данных, а также, если изображения предназначены для типа контента, который еще не существует, тогда мне нужно создать каталог с этим типом контента.

Я знаю, что в Codeigniter есть класс загрузки, но я не уверен, что у него есть возможности делать то, что мне нужно, я действительно мог бы посоветовать, пожалуйста?

Спасибо

Это было полезно?

Решение

Вы не сможете выполнить какую-либо проверку изображения или файла с помощью класса Upload.Класс upload позволит вам принять файл и проверить, что это ZIP-файл, но это все, на что он способен.

Оттуда, распаковать молнию файл и просто выполните несколько простых действий PHP над файлами, чтобы проверить, что они имеют правильный тип, и создать свои папки и т.д.Я бы поместил эту логику в новую библиотеку, чтобы она была правильно разделена.

Другие советы

Как отметил Ян, это широкий вопрос (например, 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/');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top