PHP / Codeigniter - для цикла - PullRequest
0 голосов
/ 29 марта 2012

Обновление: полный контроллер код ниже производит только миниатюру первого изображения и успешно загружает все остальные изображения. проблема, с которой я сталкиваюсь, заключается в том, что другие изображения загружаются, а их миниатюры - нет.

<?php
class Upload extends CI_Controller{
    function __construct()
    {
        parent::__construct();
        $this->upload_path = realpath(APPPATH . '../uploads');
    }

    function index()
    {
        $this->load->view('upload_view', array('error' => ''));
    }

    function start()
    {
        // var_dump($_FILES); die();
        $config['upload_path'] = $this->upload_path;
        $config['allowed_types'] = 'gif|jpg|jpeg|png';

        $this->load->library('upload', $config);            
        $status = $this->upload->do_multi_upload();
        for($i=0;$i<count($status);$i++)
        {
            $conf = array(
                'source_image' => $status[$i]['full_path'],
                'new_image' => $this->upload_path . '/thumbs',
                'maintain_ratio' => true,
                'width' => 200,
                'height' => 200
            );

            $this->load->library('image_lib', $conf);
            $this->image_lib->resize();
            $this->image_lib->clear();
        }

        if (!$status)        
        {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('upload_view', $error);
        }    
        else
        {
            var_dump($status);
        }
    }
}

?>

1 Ответ

0 голосов
/ 29 марта 2012

Загрузить библиотеку до начала цикла и без передачи ему параметров.Затем для каждого из элементов в $ status сделайте следующее:

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

... и вам не нужно будет использовать clear() впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...