<?php
defined(
'BASEPATH'
) OR
exit
(
'No direct script access allowed'
);
class
Index
extends
MY_Controller {
function
__construct(){
parent::__construct();
$this
->load->helper(
array
(
'form'
,
'url'
));
}
public
function
index() {
$this
->load->view(
'upload_form'
,
array
(
'error'
=>
' '
));
}
public
function
do_upload()
{
$config
[
'upload_path'
] =
'./data/uploads/'
;
$config
[
'allowed_types'
] =
'gif|jpg|png'
;
$config
[
'max_size'
] = 100;
$config
[
'max_width'
] = 1024;
$config
[
'max_height'
] = 768;
$this
->load->library(
'upload'
,
$config
);
if
( !
$this
->upload->do_upload(
'userfile'
))
{
$error
=
array
(
'error'
=>
$this
->upload->display_errors());
$this
->load->view(
'upload_form'
,
$error
);
}
else
{
$data
=
array
(
'upload_data'
=>
$this
->upload->data());
$this
->load->library(
'image_lib'
);
list(
$width
,
$height
) =
getimagesize
(
$data
[
'upload_data'
][
'full_path'
]);
$config
[
'image_library'
] =
'gd2'
;
$config
[
'source_image'
] =
$data
[
'upload_data'
][
'full_path'
];
$config
[
'maintain_ratio'
] = TRUE;
if
(
$width
>=
$height
)
{
$config
[
'master_dim'
] =
'height'
;
}
else
{
$config
[
'master_dim'
] =
'width'
;
}
$config
[
'width'
] = 180;
$config
[
'height'
] = 180;
$this
->image_lib->initialize(
$config
);
$this
->image_lib->resize();
$config
[
'maintain_ratio'
] = FALSE;
if
(
$width
>=
$height
)
{
$config
[
'x_axis'
] =
floor
((
$width
* 180 /
$height
- 180)/2);
}
else
{
$config
[
'y_axis'
] =
floor
((
$height
* 180 /
$width
- 180)/2);
}
$this
->image_lib->initialize(
$config
);
$this
->image_lib->crop();
$this
->load->view(
'upload_success'
,
$data
);
}
}
}