简体   繁体   English

Codeigniter中的图像裁剪

[英]Image Cropping in Codeigniter

I want to crop my image upload and change my profile photo, but I don't know why it's not working even the picture was upload, profile picture not change, you must logout and picture was be change. 我想裁剪上传的图片并更改我的个人资料照片,但是我不知道为什么即使上传图片也无法正常工作,个人资料图片没有更改,您必须注销并且更改图片。 this is my controller. 这是我的控制器。

private $pk = 'nim';
private $table = 'mahasiswa';

public function update()
    {
        $nim = $this->session->userdata('nim');
        if($_POST) { 
            $file = $this->upload();
            if ($this->m_data->update($this->pk, $nim, $this->table, $this->field_data($file['data']))) {

            redirect('Mahasiswa/Profil');
    }
} else {
    redirect('Mahasiswa/Formubah');
}
}

private function field_data($file = '')
{

    $data['username'] = $this->input->post('username');
    $data['password'] = $this->input->post('password');
    if ($file != '') {
        $data['foto'] = $file['file_name'];
    }

    return $data;

}

public function upload()
{
    $config['upload_path'] = './assets/image/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = 0;
    $config['remove_spaces'] = TRUE;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload('foto')){

        return[
            'data' => $this->upload->display_errors(),
        ];

    } else {

        $data = $this->upload->data();
        $resize['image_library'] = 'gd2';
        $resize['x_axis'] = 50;
        $resize['y_axis'] = 50;
        $resize['width'] = $img['config']['foto']['width'];

        $this->image_lib->initialize($resize);

        $this->image_lib->crop();

        return [ 
        'data' => $this->upload->data(),
        ];



    }
}

i hope controller was enough. 我希望控制器够了。 i forgot to tell, i use this show my picture. 我忘了告诉我,我用这个来展示我的照片。 <?php echo base_url('assets/image/').$this->session->userdata('foto');?>

You are not properly implementing the library. 您没有正确实现该库。 Y forgot the library load and have not given its path. Y忘记了库加载,并且没有给出其路径。

$image_data = $this->upload->data();
$config['image_library'] = 'imagemagick';
$config['library_path'] = 'C:ImageMagick-7.0.1-3-portable-Q16-x86';//your library
$config['source_image'] = $image_data['full_path']; //get original image
$config['x_axis'] = 50;
$config['y_axis'] = 50;
$this->load->library('image_lib', $config);
if (!$this->image_lib->crop()) {
    $this->handle_error($this->image_lib->display_errors());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM