php - Codeigniter - 面临创建多个缩略图的问题

标签 php codeigniter codeigniter-2

我正在玩 Codeigniter 图片上传库并一次上传多张图片,我正在用拇指上传原始图片。

现在如果我要上传三张图片,它会将所有三张原始图片上传到这个文件夹:project-images。缩略图进入 thumbs 文件夹。一切都很好,但我在 thumbs 文件夹中只得到一张图片。 2 未在 thumbs 文件夹中上传。

我当前的代码有什么问题。

有什么想法吗?

if(!empty($_FILES['userfile'])){
    $name_array = array();
    $count = count($_FILES['userfile']['size']);
    foreach($_FILES as $key => $value)
        for ($s=0; $s<=$count-1; $s++)
        {
            // Original Image Upload - Start
            $_FILES['userfile']['name'] = $value['name'][$s];
            $_FILES['userfile']['type'] = $value['type'][$s];
            $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s];
            $_FILES['userfile']['error'] = $value['error'][$s];
            $_FILES['userfile']['size'] = $value['size'][$s];
            $config['upload_path'] = './public/images/project-images/';
            $config['allowed_types'] = 'gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG';
            $config['max_size'] = '10000';
            $CI->load->library('upload', $config);
            $CI->upload->do_upload();
            $data = $CI->upload->data();
            $name_array[] = $data['file_name'];
            // Original Image Upload - End

            // Thumbnail Image Upload - Start
            $config2['image_library'] = 'gd2';
            $config2['source_image'] = $CI->upload->upload_path.$CI->upload->file_name;
            $config2['new_image'] = './public/images/project-images/thumbs';
            $config2['maintain_ratio'] = TRUE;
            $config2['create_thumb'] = TRUE;
            $config2['thumb_marker'] = '_thumb';
            $config2['width'] = 370;
            $config2['height'] = 200;
            $CI->load->library('image_lib',$config2);

            if(!$CI->image_lib->resize()){
                $CI->session->set_flashdata('errors', $CI->image_lib->display_errors('', ''));
            }

            // [ MAIN IMAGE ]
            $config['image_library'] = 'gd2';
            $config['source_image'] = $CI->upload->upload_path.$CI->upload->file_name;
            $config['maintain_ratio'] = TRUE;
            $CI->load->library('image_lib',$config);
            // Thumbnail Image Upload - End
        }
    return $name_array;
}

最佳答案

最后我通过在 $CI->image_lib->resize() 之前添加这段代码得到了解决方案:

$CI->image_lib->clear();
$CI->image_lib->initialize($config2);

关于php - Codeigniter - 面临创建多个缩略图的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880518/

相关文章:

php - 将 PHP 输出数据中的数据字段分组到 AdvancedDatagrid

PHP:将匿名函数作为参数传递

php - 检查列条目

php - 如何将位置 header 添加到来自 Codeigniter Rest 服务器的 http 响应

php - 如何在 MySQL 和 PHP 中处理日期和时间?

php - Laravel 问题 : How can I change the email field to username?

PHP 苹果增强通知

CodeIgniter 多数据库使用,无需更改第一个数据库的现有代码

php - 在 PHP 后端使用 Cappuccino JS 框架

php - 在 CodeIgniter 中查找具有 varchar cols 日期的日期之间的项目