Изменить размер изображений в codeginiter

в настоящее время я работаю с фреймворком codeigniter, но не понимаю, как изменить размер изображения. Я следил за документацией, но все еще не понимаю. Это мой код

public function create(){
        //Check login
        if (!$this->session->userdata('logged_in')){
            redirect('users/login');
        }

        $data['title'] = 'Create Post';

        $data['categories'] = $this->BlogModel->get_categories();

        $this->form_validation->set_rules('title','title','required');
        $this->form_validation->set_rules('content','content','required');

        if ($this->form_validation->run() === FALSE){
            $this->load->view('frontend/header');
            $this->load->view('frontend/navbar');
            $this->load->view('frontend/blog/create',$data);
            $this->load->view('frontend/footer');   
        } else{

            //Upload Image
            $config['upload_path'] = './assets/images/posts/blog';
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size'] = '2048';
            $config['max_width'] = '0';
            $config['max_height'] = '0';

            $this->load->library('upload', $config);

            if (!$this->upload->do_upload()){
                $errors = array('error' => $this->upload->display_errors());
                $post_image = 'noimage.jpg';
            }else{
                $data = array('upload_data' => $this->upload->data());
                $post_image = $_FILES['userfile']['name'];
            }

            $this->BlogModel->create_post($post_image);

            //set message
            $this->session->set_flashdata('post_created','Your post has been created');

            redirect('blog');
        }
    }

Посоветуйте, пожалуйста, как изменить размер изображения.

Спасибо!

codeigniter.com/userguide3/libraries/image_lib.html#id2
Lawrence Cherone 10.03.2018 17:38

привет @LawrenceCherone Я пробовал документацию, изображения могут быть загружены в мою папку, но для изменения размера изображений все еще не работает ссылка на сайт

yusufatw 10.03.2018 18:52

^ нигде в этом коде (который вы должны были включить здесь вместо того, что у вас есть выше) вы загружаете класс библиотеки изображений (вы просто инициализируете его - не то же самое) ... как это не дает вам ошибок? ты развиваешься без ошибок? вы загрузили его автоматически или где-то еще?

Alex 10.03.2018 21:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
36
1

Ответы 1

Если вы хотите делать разные вещи, например напрямую изменять размер исходного изображения, вместо создания большого пальца, установите для create_thumb значение false и не используйте new_image. Единственное различие между create_thumb и new_image состоит в том, что new_image позволяет вам указать свой собственный путь и имя. В то время как с create_thumb вы можете только заменить thumb_marker. Это все в документы ...

    //Upload Image
    $config['upload_path'] = './assets/images/posts/blog';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '2048';
    $config['max_width'] = '0';
    $config['max_height'] = '0';

    $this->load->library('upload', $config);

    if (!$this->upload->do_upload()) {
        //$errors = array('error' => $this->upload->display_errors());
        exit($this->upload->display_errors());
        $post_image = 'noimage.jpg';
    } else {
        $up_data = $this->upload->data();
        $post_image = $up_data['name'];

        $config = array(); // clear prev config

        $config['image_library'] = 'gd2';
        $config['source_image'] = $up_data['full_path'];
        $config['create_thumb'] = TRUE;
        $config['thumb_marker'] = '_thumbnail';
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 75;
        $config['height'] = 50;

        $this->load->library('image_lib', $config);

        if (!$this->image_lib->resize()) {
            exit($this->image_lib->display_errors());
        }

        $thumb_path = $up_data['file_path'] . $up_data['raw_name'] . $config['thumb_marker'] . $up_data['file_ext'];
    }

Выходы вы можете удалить позже, но оставьте их для отладки, пока вы не выясните, как правильно сообщать о своих ошибках (я предлагаю сессионные переменные). Эти функции также следует перенести в модель.

Другие вопросы по теме