Php 如何使用Codeigniter上传具有多个维度的单个图像?
上传一张原始大小的图像后,我可以将该图像保存在文件夹和数据库中 现在我想在上传时将同一个图像调整为多个维度。我不知道怎么做。这是我的密码 控制器:Php 如何使用Codeigniter上传具有多个维度的单个图像?,php,image,codeigniter,image-resizing,image-upload,Php,Image,Codeigniter,Image Resizing,Image Upload,上传一张原始大小的图像后,我可以将该图像保存在文件夹和数据库中 现在我想在上传时将同一个图像调整为多个维度。我不知道怎么做。这是我的密码 控制器: $newpath = './img/Pics/'.$user_id; if (!is_dir($newpath)){ mkdir($newpath, 0777); } $config['upload_path'] = $newpath; $config['allowed_types'] = 'gif|jpg|png|jpeg|pdf';
$newpath = './img/Pics/'.$user_id;
if (!is_dir($newpath)){
mkdir($newpath, 0777);
}
$config['upload_path'] = $newpath;
$config['allowed_types'] = 'gif|jpg|png|jpeg|pdf';
$config['overwrite'] = TRUE;
$config['max_width'] = '256';
$config['max_height'] = '256';
$this->load->library('upload', $config);
$this->upload->initialize($config);
$field_name ="reg_pic";
$rgpic="0";
if (!$this->upload->do_upload($field_name)) {
$error = $this->upload->display_errors();
$data['error']=$error;
}
else {
$data = $this->upload->data();
$regpicname= $user_id.'/'.$data['file_name'];
$rgpic="1";
}
if ($rgpic!=0) {
$data = array(
'reg_image'=>$regpicname
);
}
请帮我解决这个问题。使用图像库
$this->load->library('image_lib');
$newpath = './img/Pics/'.$user_id;
if(!is_dir($newpath)){
mkdir($newpath, 0777);
}
$config['upload_path'] = $newpath;
$config['allowed_types'] = 'gif|jpg|png|jpeg|pdf';
$config['overwrite'] = TRUE;
$config['max_width'] = '256';
$config['max_height'] = '256';
$this->load->library('upload', $config);
$this->upload->initialize($config);
$field_name ="reg_pic";
$rgpic="0";
if ( !$this->upload->do_upload($field_name))
{
$error = $this->upload->display_errors();
$data['error']=$error;
}
else
{
$data = $this->upload->data();
$regpicname= $user_id.'/'.$data['file_name'];
$rgpic="1";
if($rgpic!=0)
{
$data = array(
'reg_image'=>$regpicname
);
$thumb='thumb_'.$regpicname;
$data=array('upload_data' => $this->upload->data());
$config['image_library'] = 'gd2';
$config['source_image'] = $data['upload_data']['full_path'];
$config['new_image'] = $data['upload_data']['full_path'].'/thumb/'.$thumb;
$config['maintain_ratio'] = FALSE;
$config['width'] = 160;
$config['height'] = 160;
$this->image_lib->initialize($config);
if(!$this->image_lib->resize())
{
echo('<pre>');
echo ($this->image_lib->display_errors());
}
}
}
有关更多详细信息,请参阅
可能的副本请给我一些关于这方面的想法。我完全没有意识到这一点。上传图片后检查一下,你可以使用调整大小功能和covnert来调整尺寸。