我想在Codeigniter中调整上传图片的大小,但无法正常工作 [英] I want to resize uploaded image in codeigniter but it is not working
问题描述
我想在codeigniter中调整上传图像的大小,但是此代码不起作用。图片上传成功,但我想将其尺寸调整为110x110并显示它!
I want to resize uploaded image in codeigniter but it is not working with this code. Image uploading successfully but I want to resize it to 110x110 and display it !
我的代码在这里
class Upload_photo extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index(){
session_start();
$u = $_SESSION['username'];
$config['upload_path'] = 'user/'.$u.'/'.$filename;
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '30000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload',$config);
if(!$this->upload->do_upload('file1'))
{
echo "Error". $this->upload->display_errors();
}
else {
$config['image_library'] = 'GD2';
$config['source_image'] = $config['upload_path'];
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 110;
$config['height'] = 110;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
echo 'Photo Uploaded Successfully';
}
}
}
推荐答案
如果您要两个图像1>上层图像2>缩略图图像,并且要将缩略图图像存储到其他文件夹,则应使用$ config ['new_image'],并且路径不应是您的url,而应是绝对服务器路径。如果您不知道如何获取绝对服务器路径?您可以在下面看到我的代码。
If you want both images 1>uploded image 2>Thumbnail Image and want to store Thumbnail image to different folder you should use $config['new_image'] and path should not your url but should be absolute server path. If you don't know how to get absolute server path ? you can see my code below.
我找到了解决方案,我的代码在这里
I got the solution, my code is here
class Upload_photo extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index(){
session_start();
$u = $_SESSION['username'];
$config['upload_path'] = 'user/'.$u;
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '30000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload',$config);
$filename = $_FILES['file1']['name'];
//echo $filename;
//echo $source;
if(!$this->upload->do_upload('file1'))
{
echo "Error". $this->upload->display_errors();
return;
}
$config = array();
$config['image_library'] = 'gd2';
$config['source_image'] = 'user/'.$u.'/'.$filename ;
$config['new_image']= FCPATH . 'user/'.$u.'/Thumb/';
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = FALSE;
$config['width'] = 110;
$config['height'] = 110;
$this->load->library('image_lib',$config);
if(!$this->image_lib->resize())
{
echo $this->image_lib->display_errors();
}
}
}
这篇关于我想在Codeigniter中调整上传图片的大小,但无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!