NetStranger
Постоялец
- Регистрация
- 16 Сен 2008
- Сообщения
- 124
- Реакции
- 1
- Автор темы
- #1
Я так думаю проблема из несложных, но я что то не соображу, туплю как то...
Есть адрес /thumb/70/3/asdasdasd/IMG_0029.JPG
Контроллер thumb перехватывает УРЛ до оригинальной картинки и должен сделать превью, сохранить и тут же его выдать, а если уже сохранен то тупо вывести на экран как картинку.
Истинный адрес до превью должен в итоге быть таким
/3/asdasdasd/thumbs/IMG_0029.JPG
Код примерно такой, используется CI
Все работает, но мне кажется эт слишком громозким и медленным. Где подвох?
или же я изначально какую то фигню делаю? моя цель сделать ссылку на превью чтобы они сами делались если их нет.. ну как обычно вообщем
Есть адрес /thumb/70/3/asdasdasd/IMG_0029.JPG
Контроллер thumb перехватывает УРЛ до оригинальной картинки и должен сделать превью, сохранить и тут же его выдать, а если уже сохранен то тупо вывести на экран как картинку.
Истинный адрес до превью должен в итоге быть таким
/3/asdasdasd/thumbs/IMG_0029.JPG
Код примерно такой, используется CI
PHP:
$this->load->library('image_lib');
$width = $this->uri->segment(2);
$path = '/files_foto/'. $this->uri->segment(3).'/'. $this->uri->segment(4).'/'. $this->uri->segment(5);
if(!file_exists('./files_foto/'. $this->uri->segment(3).'/'. $this->uri->segment(4).'/thumbs/')) {
mkdir('./files_foto/'. $this->uri->segment(3).'/'. $this->uri->segment(4).'/thumbs/');
}
$thumb = '/files_foto/'. $this->uri->segment(3).'/'. $this->uri->segment(4).'/thumbs/'. $this->uri->segment(5);
if(!file_exists('.'.$thumb)) {
$config['image_library'] = 'gd2'; // выбираем библиотеку
$config['source_image'] = '.'.$path;
$config['create_thumb'] = TRUE; // ставим флаг создания эскиза
$config['maintain_ratio'] = TRUE; // сохранять пропорции
$config['width'] = $width; // и задаем размеры
$config['height'] = 100;
$config['thumb_marker'] = "";
$config['new_image'] = '.'.$thumb;
$this->image_lib->initialize($config);
if ( ! $this->image_lib->resize()) {
echo $this->image_lib->display_errors();
}
}
$config['image_library'] = 'gd2'; // выбираем библиотеку
$config['source_image'] = '.'.$thumb;
$config['dynamic_output'] = TRUE;
$this->image_lib->initialize($config);
$this->image_lib->resize();
Все работает, но мне кажется эт слишком громозким и медленным. Где подвох?
или же я изначально какую то фигню делаю? моя цель сделать ссылку на превью чтобы они сами делались если их нет.. ну как обычно вообщем