php – codeigniter图像调整大小

我有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个字母的扩展名,它将起作用;)

点赞