I spent days trying to make this work based on the examples in the documentation, but I have something missing or I'm just STUPID!
I have a CMS application where users upload an image to display in a very fixed layout. We do not want to limit the file size of the downloaded image, but rather "process" it after it appears.
The image should be 615 pixels wide, but some images downloaded directly from digital cameras are 2500X2000 and higher, so this is CRITICAL.
I compiled the code from the manual and the image is successfully uploaded to a folder in the CMS application. However, the image does NOT change.
If I ever get it for resizing, my plan is to present the image to the user for cropping using jCrop (the final image should be 615X275, and maybe it needs to be cropped in height after resizing), and then use codeigniter for an FTP image to a folder with folders with their original name.
I would be grateful for any help in this matter!
Here is my code:
function do_feature_upload () {
$ imageName = $ this-> uri-> segment (3);
// echo $ imageName;
// Where the file is going to be placed
$ config ['upload_path'] = "./uploads/".$_SESSION['dbPropNumber '];
$ config ['allowed_types'] = 'jpg | jpeg';
$ config ['max_size'] = '0';
$ config ['file_name'] = $ imageName. '. jpg';
$ config ['overwrite'] = 'TRUE';
$ this-> load-> library ('upload', $ config);
if (! $ this-> upload-> do_upload ()) {
$ error = array ('error' => $ this-> upload-> display_errors ());
$ error ['propertyDropdown'] = $ _SESSION ['propertyDropdown'];
$ error ['username'] = $ _SESSION ['username'];
$ error ['dbPropNumber'] = $ _SESSION ['dbPropNumber'];
$ error ['propertyName'] = $ this-> content-> getPropertyName ($ _ SESSION ['dbPropNumber']);
$ this-> load-> view ('upload_AmenityImage', $ error);
} else {
$ image_data = $ this-> upload-> data ();
$ origWidth = $ image_data ['image_width'];
$ origHeight = $ image_data ['image_height'];
$ newWidth = 615;
$ newHeight = $ newWidth * $ origHeight / $ origWidth;
$ resize = array (
'image_library' => 'gd2',
'source_image' => base_url (). 'uploads /'.$_ SESSION [' dbPropNumber '].' / '. $ imageName.'. jpg ',
'new_image' => base_url (). 'uploads /'.$_ SESSION [' dbPropNumber '].' / '. $ imageName.'1.jpg',
'create_thumb' => FALSE,
'maintain_ratio' => FALSE,
'width' => $ newWidth,
'height' => $ newHeight
);
$ this-> load-> library ('image_lib', $ resize);
$ this-> image_lib-> resize ();
$ data = array ('upload_data' => $ this-> upload-> data ());
$ data ['propertyDropdown'] = $ _SESSION ['propertyDropdown'];
$ data ['username'] = $ _SESSION ['username'];
$ data ['dbPropNumber'] = $ _SESSION ['dbPropNumber'];
$ data ['propertyName'] = $ this-> content-> getPropertyName ($ _ SESSION ['dbPropNumber']);
// Present jCrop option after image is resized
// FTP to final destination
$ this-> load-> view ('upload_success', $ data);
} // end if
} // end function
source
share