Php 在codeigniter中一次制作2个缩略图

Php 在codeigniter中一次制作2个缩略图,php,image,codeigniter,thumbnails,Php,Image,Codeigniter,Thumbnails,有谁能告诉我如何在codeigniter中创建两个不同大小和位置的相同图像的不同缩略图。我已经创建了一个上传功能和另一个缩略图生成功能,它工作得很好,但无法解决如何同时创建两个不同的缩略图。任何帮助都将不胜感激。因此您有一个缩略图生成器函数,并说它接受原始文件名、新文件名和缩略图大小的参数 叫两次就行了 thumbnail_generator( original_file.jpg, new_file_sm.jpg, 300 ); thumbnail_generator( original_fil

有谁能告诉我如何在codeigniter中创建两个不同大小和位置的相同图像的不同缩略图。我已经创建了一个上传功能和另一个缩略图生成功能,它工作得很好,但无法解决如何同时创建两个不同的缩略图。任何帮助都将不胜感激。

因此您有一个缩略图生成器函数,并说它接受原始文件名、新文件名和缩略图大小的参数

叫两次就行了

thumbnail_generator( original_file.jpg, new_file_sm.jpg, 300 );
thumbnail_generator( original_file.jpg, new_file_xsm.jpg, 150 );

其实很简单

function create_thumbs()
{
    $this->load->library('image_lib');

    $path = "path/to/image/";

    $source_image = "original.jpg";
    $medium_image = "medium.jpg";
    $small_image = "small.jpg";

    // Resize to medium

    $config['source_image'] = $path.$source_image;
    $config['new_image'] = $path.$medium_image;
    $config['width'] = 200;
    $config['height'] = 200;

    $this->image_lib->initialize($config); 

    if ( ! $this->image_lib->resize())
    {
        // an error occured
    }

    // Keep the same source image

    $config['new_image'] = $path.$small_image;
    $config['width'] = 50;
    $config['height'] = 50;

    $this->image_lib->initialize($config); 

    if ( ! $this->image_lib->resize())
    {
        // an error occured
    }
}

对上面的答案稍加修改。将此添加到函数的开头

$this->load->library('image_lib');
$this->image_lib->clear();

需要清除以前的配置

能否提供缩略图代码?我尝试过,但没有效果,只创建了一个缩略图。第一个函数工作,它创建了拇指,但第二个没有。但它确实返回true,但没有创建图像。我还尝试调用upload_模型中的第一个函数和控制器中的第二个函数,但都不起作用。如果我禁用第一个功能,则第二个1工作。还有其他建议吗?codeigniter是否允许创建多个图像大小调整???缩略图生成器功能是否移动或删除原始文件?我不知道它是否移动或删除。当我检查时,只有一个文件夹中只有一个图像。听起来可能是你从某个地方复制了一些代码,现在你不知道它是如何工作的。检查php的本机函数imagecopyresampled(),并滚动您自己的图像大小调整器。这可能比处理别人的代码更容易。:)