目前我正在学习和尝试 CodeIgniter 能够做到的事情。但我坚持同时制作多个缩略图。可能,我使用 Wordpress 搞砸了我的脑袋,并试图在 Codeigniter 中做这样的事情,但无论如何,这是我的代码
<?php
class Gallery_model extends CI_Model {
var $gallery_path;
function __construct() {
parent::__construct();
$this->load->helper('functions');
$this->gallery_path = realpath(APPPATH . '../uploads');
}
function do_upload() {
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png',
'upload_path' => $this->gallery_path,
'max_size' => 2000
);
$this->load->library('upload', $config);
$this->upload->do_upload();
$image_data = $this->upload->data();
$image_sizes = array(
'thumb' => array(150, 100),
'medium' => array(300, 300),
'large' => array(800, 600)
);
foreach ($image_sizes as $resize) {
$config = array(
'source_image' => $image_data['full_path'],
'new_image' => $this->gallery_path . '-' . $resize[0] . 'x' . $resize[1],
'maintain_ration' => true,
'width' => $resize[0],
'height' => $resize[1]
);
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
}
}
目前,我只能自己创建一个图像,但我不能用它制作缩略图。也许有人可以增强代码,并让它工作:)
PS - 我尝试在 $image_sizes 之后获取所有内容,将其放入其他独立的 php 文件中,运行它,然后 var 将 $config 转储到 foreach 中,它似乎可以正常工作。