Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用codeigniter image_lib调整图像大小(质量)_Php_Codeigniter_Image Processing_Gd - Fatal编程技术网

Php 如何使用codeigniter image_lib调整图像大小(质量)

Php 如何使用codeigniter image_lib调整图像大小(质量),php,codeigniter,image-processing,gd,Php,Codeigniter,Image Processing,Gd,我们正在创建一个允许图像上传的应用程序,现在我们想减少图像大小以减少页面加载时间,现在这是我正在使用的代码,它不起作用,图像大小保持100%,它没有减少,请帮助可能我遗漏了什么或我做错了什么 if(!empty($_FILES['image_field']['name'])) { $config['upload_path'] = 'image_folder'; $config['allowed_types'] = 'jpg|png'; $config['max_size'

我们正在创建一个允许图像上传的应用程序,现在我们想减少图像大小以减少页面加载时间,现在这是我正在使用的代码,它不起作用,图像大小保持100%,它没有减少,请帮助可能我遗漏了什么或我做错了什么

if(!empty($_FILES['image_field']['name']))
{
    $config['upload_path'] = 'image_folder';
    $config['allowed_types'] = 'jpg|png';
    $config['max_size'] = '262144';
    $config['file_name'] = 'my_image_name';
    $this->load->library('upload',$config);
    if(!$this->upload->do_upload('image_field'))
    {
        $this->session->set_flashdata('error','<div class="alert alert-warning">Something went wrong...try again...</div>');
        redirect('Controller/function_name');
    }
    else
    {
        $type = array('image/png'=>'png','image/jpg'=>'jpg','image/jpeg'=>'jpg');
        $config['image_library'] = 'gd2';
        $config['source_image'] = base_url().'image_folder'.$config['file_name'].'.'.$type[$_FILES['image_field']['type']];
        $config['quality'] = '50%';
        $this->load->library('image_lib', $config);
        $this->image_lib->resize();
        // save to database    
    }
}
if(!空($\u文件['image\u字段]['name']))
{
$config['upload_path']='image_folder';
$config['allowed_types']='jpg | png';
$config['max_size']='262144';
$config['file_name']='my_image_name';
$this->load->library('upload',$config);
如果(!$this->upload->do_upload('image_field'))
{
$this->session->set_flashdata('error','Something出了问题…重试…');
重定向(“控制器/功能名称”);
}
其他的
{
$type=array('image/png'=>'png'、'image/jpg'=>'jpg'、'image/jpeg'=>'jpg');
$config['image_library']='gd2';
$config['source\u image']=base\u url().'image\u folder'.$config['file\u name'....$type[$\u FILES['image\u field'.['type']];
$config['quality']=“50%”;
$this->load->library('image_lib',$config);
$this->image_lib->resize();
//保存到数据库
}
}

我使用的是codeigniter 3.0

您应该使用不带
%
的整数,如下所示:

$config['quality'] = 50;

在质量更改开始工作之前,我还必须将我的
image\u库
参数设置为“gd”。我想知道为什么它不适用于“gd2”


非常有用调整质量并检查保存的图像文件大小。将有所不同。

我发现使用GD或GD2库时,这将不起作用。 为了使“质量”受到影响,我需要使用“ImageMagick”库

如文档中所述-如果使用“ImageMagick”或“NetPBM”库-”,则必须提供路径:

在我的GoDaddy服务器上,路径是“/usr/bin


我没有看到“质量”在
文件上传类中作为选项列出,
文档位于。。。但我从您的示例中看到,它是@dsd yes的
图像处理类
中的一个选项,
图像库
类中的
质量
选项
$config['image_library']    = 'gd';
$config['quality']      = 40;
 $config['image_library']    = 'gd2';
 $config['quality']      = 60;
    $config['source_image'] = $source_image;
    $config['library_path'] = '/usr/bin';
    $config['image_library'] = 'ImageMagick';
    $config['maintain_ratio'] = TRUE;
    $config['quality'] = "20%"; // Maintained the aspect ratio and dimensions but reduced the file size by about 60%

    $this->image_lib->initialize($config);
    if(!$this->image_lib->resize()){
                    echo "QUCKVIEW Re-sizing - ";
                    echo $this->image_lib->display_errors();
                    echo "Image Resize for Grooming Quickview Failed! Contact System Administrator.";
                    die();
                }