【发布时间】:2018-05-05 21:05:53
【问题描述】:
我正在尝试在 Codeigniter 中创建图像上传功能。上传文件时,我想保持高度和宽度,但大小应减小,例如从 10kb 减少到 5kb。
以下代码工作正常,文件正在上传,但大小相同。 可以进行哪些更改以使其正确
if($_FILES['logo']['name'] != '')
{
$getimagesize = getimagesize($_FILES['logo']['tmp_name']);
$w = $getimagesize[0];
$h = $getimagesize[1];
#NEW CODE
$config['upload_path'] = './upload/';
$config['allowed_types'] = 'jpg|jpeg|png';
$this->load->library('upload',$config);
if(!$this->upload->do_upload('logo'))
{
echo $this->upload->display_errors();
}#EOF if(!$this->upload->do_upload('logo'))
else
{
$data = $this->upload->data();
$config = [
'image_library' => 'gd',
'source_image' => './upload/'.$data['file_name'],
'create_thumb' => FALSE,
'maintain_ratio' => FALSE,
'quality' => '60',
'height' => $h,
'width' => $w,
'new_image' => './upload/'.$data['file_name']
];
$this->load->library('image_lib',$config);
if($this->image_lib->resize())
{
$this->session->set_flashdata('success','image saved');
redirect('welcome/school_details');
}
#Adding data into databse
}
【问题讨论】:
-
使用imagejpeg等php内置函数并设置质量。
-
仅供参考,如果您不更改它们,则没有真正的理由获取和设置图像尺寸。
-
@alex 这不是问题。每次使用更改的名称上传文件时。
-
@Yahya:我正在尝试使用 imagecreatefromjpeg 函数来执行此操作,但它是否会出错。它没有通过 HTTP 打开文件夹,因为它给出了错误。
标签: php image codeigniter upload