如何使用codeigniter插入三张图片

问题描述 投票:0回答:2

这是我的视图文件

<div class="form-group">
      <label>Select Package Image(Large) </label>
      <?= form_input(array('type'=>'file','id'=>'pkg_img','name'=>'pkg_img','class'=>'form-control','multiple'=>'')); ?>
</div>

<div class="form-group">
    <label>Select Package Image(Mediam)</label>
    <?= form_input(array('type'=>'file','id'=>'pkg_img_md','name'=>'pkg_img_md','class'=>'form-control','multiple'=>'')); ?>
</div>

<div class="form-group">
    <label>Select Package Image(Small)</label>
    <?= form_input(array('type'=>'file','id'=>'pkg_img_sm','name'=>'pkg_img_sm','class'=>'form-control','multiple'=>'')); ?>
</div>
php codeigniter
2个回答
0
投票

使用 Html 帮助器类

 $image_properties = array(
        'src'   => 'images/picture.jpg',
        'alt'   => 'Me, demonstrating how to eat 4 slices of pizza at one time',
        'class' => 'post_images',
        'width' => '200',
        'height'=> '200',
        'title' => 'That was quite a night',
        'rel'   => 'lightbox'
);

img($image_properties);
// <img src="http://url/index.php/images/picture.jpg" alt="Me, demonstrating how to eat 4 slices of pizza at one time" class="post_images" width="200" height="200" title="That was quite a night" rel="lightbox" />

0
投票

假设您只想将同一图像调整为不同的(小、中)尺寸,您可以使用以下代码。如果这不是您想要实现的目标,您可以根据自己的喜好对其进行修改:

class Test extends CI_Controller {

    public function index() {
        $this->load->helper('form');

        echo form_open_multipart('/test/upload_image/');
        echo form_upload('userfile');
        echo form_submit(array('name' => 'add_file', 'value' => 'Add File'));
    }

    public function upload_image() {

        if (!is_dir('./uploads/')) {
            mkdir('./uploads/', 0755);
        }

        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'gif|jpg|png|bmp';
        $config['encrypt_name'] = TRUE;

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

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

        if (!$this->upload->do_upload('userfile')) {
            // handle this with flash messages & redirect
            exit($this->upload->display_errors());
        }

        $image = $this->upload->data();

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

        $config = array(); // reset config array

        $config['image_library'] = 'gd2';
        $config['source_image'] = $image['full_path'];
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = FALSE;
        $config['thumb_marker'] = '';

        $config_sm['new_image'] = "./uploads/{$image['raw_name']}_sm{$image['file_ext']}";
        $config_sm['width'] = 50;
        $config_sm['height'] = 50;

        $this->image_lib->initialize(array_merge($config, $config_sm));

        $this->image_lib->resize();

        $this->image_lib->clear();

        $config_md['new_image'] = "./uploads/{$image['raw_name']}_md{$image['file_ext']}";
        $config_md['width'] = 100;
        $config_md['height'] = 100;

        $this->image_lib->initialize(array_merge($config, $config_md));

        $this->image_lib->resize();

        $data = array(
            'pkg_img_sm' => $config_sm['new_image'],
            'pkg_img_md' => $config_md['new_image'],
            'pkg_img' => $image['full_path'],
        );

        print_r($data);

        //$this->db->insert('sometable', $data);
    }

}

将生成一个如下所示的数组:

Array ( [pkg_img_sm] => ./uploads/936174c69e709b4c6d7fb840c4094eba_sm.jpg [pkg_img_md] => ./uploads/936174c69e709b4c6d7fb840c4094eba_md.jpg [pkg_img] => C:/xampp/htdocs/uploads/936174c69e709b4c6d7fb840c4094eba.jpg )
© www.soinside.com 2019 - 2024. All rights reserved.