Как интегрировать phpThumb в архитектуру приложения CodeIgniter? - PullRequest
1 голос
/ 26 июля 2010

Я бы хотел использовать phpThumb (http://phpthumb.sourceforge.net/) на слое моего представления для автоматического определения размера некоторых изображений.

Какой рекомендуемый способ интеграции phpThumb в архитектуру CodeIgniter?Кто-нибудь уже сделал это и обнаружил, что вы предпочитаете один метод интеграции другому?

Я в основном ищу мнения об использовании phpThumb в качестве кода помощника / библиотеки / как есть и т. Д.

1 Ответ

5 голосов
/ 27 июля 2010

Вы можете сделать это с помощью класса манипулирования изображениями codeigniter.

Просто создайте помощника с кодом изменения размера изображения, вот базовый пример:

В помощнике

<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');


if ( ! function_exists('generate_image'))
{
    function generate_image($img, $width, $height){

        $obj =& get_instance();

        $obj->load->library('image_lib');
        $obj->load->helper('url');

        $config['image_library'] = 'gd2';

        $config['source_image'] = $img;
        $config['new_image'] = './resources/images/img_tp/tn_img.png' ;
        $config['width'] = $width;
        $config['height'] = $height;

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

        $obj->image_lib->resize();


        return $config['new_image'];
    }
}

Назовите по своему желанию и убедитесь, что помощник загружен в конструктор вашего контроллера.

Тогда, на ваш взгляд:

<img src="<?php echo generate_image($img, $width, $height); ?>" />

Вы можете создать набор функций в помощнике для выполнения различных задач манипуляции и использовать их непосредственно в своем представлении, используя этот метод.

Вот документация по манипулированию изображениями.http://codeigniter.com/user_guide/libraries/image_lib.html

...