CodeIgniter Image Lib类不会调整图像大小,但会返回true

Cli*_*ote 1 php codeigniter

我正在尝试使用codeigniter的图像库来调整图像大小.很简单.但是,图像没有调整大小,而且,函数返回true,display_errors()不显示任何错误.

这是我传递给图像库的配置:

    //A file is uploaded using codeigniter's upload library, then:

    $imgData = $this->upload->data();

    $config['image_library'] = 'GD';
    $config['source_image'] = $imgData['full_path'];
    $config['new_image']    = $imgData['full_path'];
    $config['create_thumb'] = false;
    $config['maintain_ratio'] = true;
    $config['width'] = $newWidth;
    $config['height'] = $newHeight;
Run Code Online (Sandbox Code Playgroud)

设置后的$ config的print_r:

Array
(
    [image_library] => GD
    [source_image] => C:/wamp/www/uploads/8ddbfb2cce91ee314e1f296355aec8c6.jpg
    [new_image] => C:/wamp/www/uploads/8ddbfb2cce91ee314e1f296355aec8c6.jpg
    [create_thumb] => 
    [maintain_ratio] => 1
    [width] => 400
    [height] => 350
)
Run Code Online (Sandbox Code Playgroud)

路径是正确的,但调整大小后图像保持不变.

做一个var_dump对$this->image_lib->display_errors()返回此:

string '' (length=0)
Run Code Online (Sandbox Code Playgroud)

如果它有任何区别,图像将通过Uploadify上传.

关于什么是错的任何想法?

Chr*_*oni 10

尝试从文档根目录而不是从C设置完整路径.尝试以下代码:

if($this->upload->do_upload()){
    $this->load->library('image_lib');

    $config_res['source_image'] = 'uploads/'.$this->upload->file_name;
    $config_res['maintain_ratio'] = TRUE;
    $config_res['width'] = $newWidth;
    $config_res['height'] = $newHeight;


    $this->image_lib->initialize($config_res);

    $this->image_lib->resize();

    $this->image_lib->clear();
}
else{
     echo $this->upload->display_errors();
}
Run Code Online (Sandbox Code Playgroud)

这样您就不需要指定new_image,它将被覆盖