現時点では、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 ファイルに入れて実行し、foreach 内の $config を var ダンプしようとしましたが、動作しているように見えました。