I am developing a web application. In my application, I am uploading an image to server and then resize it. I uploaded to server successfully. But when I resize image, it is not resizing image. But it is not throwing error as well.
This is my image file upload model
class file_helper extends CI_Model{
function __construct()
{
parent::__construct();
$this->load->library('image_lib');
}
function generateRandomFileName()
{
$rand = rand(10000,99999);
$file_name = time().$rand;
return time().$rand;
}
function uploadImage()
{
$name = $this->generateRandomFileName();
$config['upload_path'] = './'.UPLOAD_FOLDER.'/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['file_name'] = $name;
$this->load->library('upload', $config);
if ( !$this->upload->do_upload('userfile'))
{
return FALSE;
}
else
{
$data = $this->upload->data();
$data['virtual_path'] = UPLOAD_FOLDER."/".$name.".".$data['file_ext'];
return $data;
}
}
function resizeImage($path)
{
$config['image_library'] = 'gd2';
$config['source_image'] = '/'.$path;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 300;
$config['height'] = 50;
$this->load->library('image_lib', $config);
if ( ! $this->image_lib->resize())
{
print_r($this->image_lib->display_errors());
}
else{
echo "Ok";
}
}
}
As you can see in the model I print out "Ok" on success and print_r the error in failure. The path I passed is something like this "uploads/23344545.png". But that resize function always print out "Ok", but the image is not resized. What is wrong with my code?
You need to resize the image while uploading
function uploadImage()
{
$name = $this->generateRandomFileName();
$config['upload_path'] = './'.UPLOAD_FOLDER.'/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['file_name'] = $name;
$config['width'] = 300;
$config['height'] = 50;
$this->load->library('upload', $config);
if ( !$this->upload->do_upload('userfile'))
{
return FALSE;
}
else
{
$data = $this->upload->data();
$data['virtual_path'] = UPLOAD_FOLDER."/".$name.".".$data['file_ext'];
return $data;
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.