我有codeigniter图像调整大小的问题.我将文件作为zip文件上传然后解压缩,解压后我扫描目录以寻找.jpg.如果它是.jpg扩展名,则需要调整大小.当zip文件只有一个.jpg图像但当zip文件有2个以上的.jpg图像文件时它不起作用.
它确实扫描所有jpg文件的问题是它没有调整大小.
我想上传zip文件时调整所有jpg文件的大小.
这是我的代码:
$images = scandir('uploads/new');
//print_r($images);
foreach($images as $image){
$last = substr($image, -3);
if($last == 'jpg'){
$image_path = './uploads/new/'.$image;
//$config['image_library'] = 'gd2';
$config['source_image'] = $image_path;
$config['maintain_ratio'] = TRUE;
$config['width'] = 100;
$config['height'] = 100;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
}
最佳答案 你应该使用$this-> image_lib-> clear();
clear函数重置处理图像时使用的所有值.如果要在循环中处理图像,则需要调用此方法.
$这 – > image_lib->清除();
来自:http://ellislab.com/codeigniter/user-guide/libraries/image_lib.html
还有一个提示:
无需使用字符串函数来获取文件扩展名.你可以使用实际设计的东西:pathinfo():
$ext = pathinfo($image, PATHINFO_EXTENSION);
在你的情况下:
if(pathinfo($image, PATHINFO_EXTENSION) == 'jpg'){
这样,如果您要添加超过3个字母的扩展名,它将起作用;)