php - Codeigniter - 如何上传带有缩略图的原始图像?

标签 php codeigniter codeigniter-2

我有这个代码可以在 codeigniter 中上传文件:

if(!empty($_FILES['userfile'])){
    $name_array = array();
    $count = count($_FILES['userfile']['size']);
    foreach($_FILES as $key => $value)
        for ($s=0; $s<=$count-1; $s++){
            $_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/campaign-images/';
            $config['allowed_types'] = 'gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG';
            $config['max_size'] = '10000';
            //$config['max_width'] = '1024';
            //$config['max_height'] = '768';
            $CI->load->library('upload', $config);
            $CI->upload->do_upload();
            $data = $CI->upload->data();
            $name_array[] = $data['file_name'];
        }
    return $name_array;
}

此代码可以完美地处理单个原始图像上传,但如何将图像上传为缩略图(350 x 250)并在不同文件夹中调整大小。

知道如何使用 codeigniter 库吗?

谢谢

最佳答案

首先存储原始图像,然后上传缩略图 您只需要包含 gd2 库即可生成缩略图

            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/campaign-images/';
                        $config['allowed_types'] = 'gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG';
                        $config['max_size'] = '10000';
                        //$config['max_width'] = '1024';
                        //$config['max_height'] = '768';
                        $CI->load->library('upload', $config);
                        $CI->upload->do_upload();
                        $data = $CI->upload->data();
                        //Original Image Upload - End

                        //Thumbnail Image Upload - Start
                        $config['image_library'] = 'gd2';
                        $config['source_image'] = './public/images/campaign-images/'. $value['name'][$s];
                        $config['new_image'] = './public/images/campaign-images/thumbs/'.$value['name'][$s];
                        $config['width'] = 350;
                        $config['height'] = 250;

                        //load resize library
                        $this->load->library('image_lib', $config);
                        $this->image_lib->resize();
                        //Thumbnail Image Upload - End

                        $name_array[] = $data['file_name'];
                    }
                return $name_array;
            }

关于php - Codeigniter - 如何上传带有缩略图的原始图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32864056/

相关文章:

php - 在 codeigniter 中编辑表单的独特验证

php - 如何使用ffmpeg在php中进行视频转换?

php - Apache 服务器上的 HTTP 300 多种选择

php - Mysql 查询使用现在和上周之间的日期

php - Wordpress ACF get_field() 不返回值

php - 查询从名为 user 和 connection 的两个表获取连接列表

php - 如何在 MySQL 中检索多个表并格式化其中的一些行?

php - 配置和测试 Laravel 任务调度

php - 在模型中调用多个方法或在 Controller 、CodeIgniter 中调用?

php - 时间戳字段值的问题