Php 在codeigniter中,如何在不降低高度和宽度的情况下减小图像大小?
我正在尝试在Codeigniter中创建图像上传功能。上载文件时,我希望保持高度和宽度,但大小应减少,例如从10kb减少到5KB 下面的代码工作正常,文件正在上载,但大小相同。 可以进行哪些更改以使其正确Php 在codeigniter中,如何在不降低高度和宽度的情况下减小图像大小?,php,image,codeigniter,upload,Php,Image,Codeigniter,Upload,我正在尝试在Codeigniter中创建图像上传功能。上载文件时,我希望保持高度和宽度,但大小应减少,例如从10kb减少到5KB 下面的代码工作正常,文件正在上载,但大小相同。 可以进行哪些更改以使其正确 if($_FILES['logo']['name'] != '') { $getimagesize = getimagesize($_FILES['logo']['tmp_name']); $w = $geti
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
}
更改配置上载:
'quality' => '60'
到
是一样的。文件大小没有改变,这是我看到的唯一问题。删除上传的图像,再试一次,可能它没有覆盖您以前的测试。@alex这不是问题所在。每次上载文件时,文件名都会更改。请使用php内置函数,如和set quality.FYI,如果不更改图像尺寸,则没有真正的理由获取和设置图像尺寸。@alex这不是问题所在。每次上传文件时都会更改名称。@Yahya:我试图使用imagecreatefromjpeg函数来完成,但它是否给出了错误。由于出现错误,未通过HTTP打开文件夹。
'quality' => '60%'