如何在codeigniter中使用img_library调整多个图像的大小[重复]
Posted
技术标签:
【中文标题】如何在codeigniter中使用img_library调整多个图像的大小[重复]【英文标题】:How to resize multiple image using img_library in codeigniter [duplicate] 【发布时间】:2013-04-07 01:53:28 【问题描述】:我上传了一张图片,我想将其重新调整为 200x200、70x70、40x40 的大小,每次调整大小时,它只会给我 2 张原始图片和 1 张拇指图片 200x200。我该怎么做呢?这是我的代码:
public function resize($path, $file)
$data = array(200, 70, 40);
foreach($data as $d) :
$config['image_library'] = 'gd2';
$config['source_image'] = $path;
$config['create_thumb'] = true;
$config['maintain_ratio'] = true;
$config['width'] = $d;
$config['height'] = $d;
$config['new_image'] = './uploads/' . $d . $file;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
$this->image_lib->clear();
endforeach;
【问题讨论】:
我知道这不是您问题的答案,但您可以使用 timbthumb.php 类动态调整图像大小。我用这个很好用,上传时不需要处理 【参考方案1】:我建议在循环中调用以下代码:
$this->image_lib->initialize($config);
我认为可能发生的情况是,当您加载库时,初始化程序只被调用一次。您需要清除旧参数,并在每次要进行更改时调用初始化程序。
另外,我只会在视图文件中使用简码。坚持使用类文件中的标准大括号。
例如。循环代码:
foreach($data as $d)
// statements to loop through here
把它们放在一起......
public function resize($path, $file)
$sizes = array(200, 70, 40);
$this->load->library('image_lib');
foreach($sizes as $size)
$config['image_library'] = 'gd2';
$config['source_image'] = $path;
$config['create_thumb'] = true;
$config['maintain_ratio'] = true;
$config['width'] = $size;
$config['height'] = $size;
$config['new_image'] = './uploads/' . $size . $file;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
【讨论】:
谢谢你,我刚刚才知道。不过还是谢谢你回复了。现在我知道了=) 很高兴你成功了。以上是关于如何在codeigniter中使用img_library调整多个图像的大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CodeIgniter 的库中使用 session?
如何在登录系统中使用会话并在codeigniter中实现注销