FuelPHP Bin
public function post_avatar_upload() { // Custom configuration for this upload $config = array( 'path' => DOCROOT.'assets/img/users', 'new_name' => \Auth::get('id'), 'auto_rename' => false, 'overwrite' => true, 'ext_whitelist' => array('jpg', 'jpeg', 'gif', 'png'), ); // process the uploaded files in $_FILES \Upload::process($config); // if there are any valid files if (\Upload::is_valid()) { // save them according to the config \Upload::save(); $data = json_decode(\Input::all()['avatar_data']); foreach(\Upload::get_files() as $file) { \Image::load($file['saved_to'].$file['saved_as']) ->crop($data->x, $data->y, $data->x+$data->width, $data->y+$data->height) ->rotate($data->rotate) ->save_pa('user_', null, 'jpg'); unlink($file['saved_to'].$file['saved_as']); } } else { return $this->response(array( "success" => false, "errors" => \Upload::get_errors() )); } return $this->response(array( "success" => true, "files" => \Upload::get_files(), "errors" => \Upload::get_errors() )); }