在使用CodeIgniter上传多张图片时,可以通过以下步骤来固定图片的宽度和高度:
$this->load->library('image_lib');
来加载图像处理类。initialize()
方法来初始化图像处理设置。可以设置图像的宽度和高度,以及其他相关的设置。resize()
方法来调整图片的大小。可以设置图片的宽度和高度,以及保持宽高比例或裁剪图片等操作。resize()
方法生成调整后的图片,并保存到指定的目录中。以下是一个示例代码:
public function upload_images()
{
// 加载上传类
$this->load->library('upload');
// 配置上传设置
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 2048;
// 初始化上传类
$this->upload->initialize($config);
// 执行上传
if ($this->upload->do_upload('image'))
{
// 获取上传的图片信息
$upload_data = $this->upload->data();
// 加载图像处理类
$this->load->library('image_lib');
// 配置图像处理设置
$image_config['image_library'] = 'gd2';
$image_config['source_image'] = $upload_data['full_path'];
$image_config['maintain_ratio'] = TRUE;
$image_config['width'] = 200;
$image_config['height'] = 200;
// 初始化图像处理类
$this->image_lib->initialize($image_config);
// 调整图片大小
$this->image_lib->resize();
// 保存调整后的图片
$this->image_lib->save('./uploads/resized/' . $upload_data['file_name']);
// 清除图像处理设置
$this->image_lib->clear();
// 返回上传成功的信息
echo '图片上传成功!';
}
else
{
// 返回上传失败的信息
echo '图片上传失败!';
}
}
在上述示例代码中,我们使用了CodeIgniter的上传类和图像处理类来处理图片上传和调整图片大小。通过设置图像处理类的相关参数,可以实现固定图片的宽度和高度。上传成功后,调整后的图片将保存在指定的目录中。
请注意,上述示例代码仅供参考,具体的实现方式可能会根据你的项目需求和代码结构而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云