【问题标题】:codeigniter image resize代码点火器图像调整大小
【发布时间】:2012-12-01 14:05:42
【问题描述】:

我在使用 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(); 
    }
}       

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    你应该使用 $this->image_lib->clear();

    clear 函数会重置处理图像时使用的所有值。如果您在循环中处理图像,您将需要调用它。

    $this->image_lib->clear();

    发件人:http://ellislab.com/codeigniter/user-guide/libraries/image_lib.html

    还有一个提示:

    无需使用字符串函数来获取文件扩展名。您可以使用实际为您想要的东西设计的东西:pathinfo():

    $ext = pathinfo($image, PATHINFO_EXTENSION);
    

    在你的情况下:

    if(pathinfo($image, PATHINFO_EXTENSION) == 'jpg'){
    

    这样,如果您要添加超过 3 个字母的扩展名,它会起作用 ;)

    【讨论】:

    • 感谢它现在的工作。还要感谢有关 pathinfo 功能的其他建议。干杯!
    【解决方案2】:

    尝试在 foreach 循环中清除您的配置

    $images = scandir('uploads/new');
    //print_r($images);
    foreach($images as $image){
        $this->image_lib->clear(); // clear previous config
        $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(); 
        }
    }       
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 2015-06-09
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      相关资源
      最近更新 更多