douliao8760 2017-01-03 06:15
浏览 39

如何使用Codeigniter创建多个缩略图

I am having a problem when try to create the thumbnails by using a foreach loop. I used the CI's build-in class image_lib to cut the image, but it will only create the thumbnail of the 1st image, for the rest of the images, they never get cut. Here is my code:

    $source[0] = "image/catalog/a.jpg";
    $source[1] = "image/catalog/b.jpg";
    $source[2] = "image/catalog/c.jpg";


    foreach ($source as $image) {
        $config['image_library'] = 'gd2';
        $config['source_image'] = $image;
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 100;
        $config['height'] = 100;

        $file = basename($image);
        $info = pathinfo($file);
        $file_name =  basename($file,'.'.$info['extension']);
        $config['new_image'] = '/Applications/XAMPP/xamppfiles/htdocs/zhiyuan/image/cache/' . basename($file_name) . '-' . $config['width'] . 'x' . $config['height'] . '.png';

        $this->load->library('image_lib', $config);
        $this->image_lib->resize();
    }
  • 写回答

1条回答 默认 最新

  • douken0530 2017-01-03 06:31
    关注

    The problem is that I tried to load the library several times, but seems like it will only load the first time. In order to cut the second image, I need to reinitialize the config. Here is the code after fix:

    $source[0] = "image/catalog/a.jpg";
    $source[1] = "image/catalog/b.jpg";
    $source[2] = "image/catalog/c.jpg";
    $this->load->library('image_lib');
    
    foreach ($source as $image) {
        $config['image_library'] = 'gd2';
        $config['source_image'] = $image;
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 100;
        $config['height'] = 100;
    
        $file = basename($image);
        $info = pathinfo($file);
        $file_name =  basename($file,'.'.$info['extension']);
        $config['new_image'] = '/Applications/XAMPP/xamppfiles/htdocs/zhiyuan/image/cache/' . basename($file_name) . '-' . $config['width'] . 'x' . $config['height'] . '.png';
    
        $this->image_lib->initialize($config);
        $this->image_lib->resize();
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP