CodeIgniter - 图像大小调整不起作用

问题描述:

我刚刚开始编程一两个星期前,所以我为可能很糟糕的代码道歉,但我一直很难找出这一件事。我设法让文件上传到指定的目的地,但我无法使调整大小/图像处理工具正常工作。CodeIgniter - 图像大小调整不起作用

给我这个问题的代码是注释掉的部分,我已经确保给文件夹适当的权限。任何帮助都会非常出色。

我也很好奇我怎么会使用绝对路径,这样的事情,

由于一吨。

功能avatar_update(){

$config['upload_path'] = './avatars/'; 
    $config['allowed_types'] = 'jpg'; 
    $config['max_size'] = '100'; 
    $config['max_width'] = '100'; 
    $config['max_height'] = '100'; 
    $config['file_name'] = time(); 

    $filename = $config['file_name']; 

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

    if(! $this->upload->do_upload()) 
    { 
     $error = $this->upload->display_errors(); 
     $this->session->set_flashdata('msg', $error); 
     $this->load->view('General/header');  
     $this->load->view('profile_view', $error); 
     $this->load->view('General/footer'); 

    } 
    else 
    { 

      // $this->load->library('image_lib'); 

      // $resize['image_library'] = 'gd2'; 
      // $resize['source_image'] = './avatars/'.$filename.'.jpg'; 
      // $resize['maintain_ratio'] = TRUE; 
      // $resize['create_thumb'] =TRUE; 
      // $resize['width'] = 50; 
      // $resize['height'] = 50; 

      // $this->load->library('image_lib', $resize); 

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

     $username = $this->session->userdata('username'); 
     $avatar = array(

     'avatar' => $filename 

     ); 

     $this->db->where('username', $username); 
     $this->db->update('users', $avatar);   

     $this->db->select(); 
     $this->db->where('username', $username); 
     $query = $this->db->get('users'); 

     if ($query->num_rows() > 0) 
     { 
      $user_details = $query->row_array(); 

     } 

     $this->session->set_userdata($user_details); 


     $this->load->view('General/header'); 
     $this->load->view('profile_view'); 
     $this->load->view('General/footer'); 


     } 
    } 
+1

“不工作”的描述将非常有用:) – 2011-02-16 09:28:33

+0

调整大小的图像从未在服务器上显示:/。 – Augury 2011-02-16 16:44:07

您的代码看起来不错,我(除了加载图像库两次!)。尝试将新图像的路径添加到您的配置阵列中。

$resize['new_image'] = '/path/to/new_image.jpg'; 

你不应该需要它,但它可能是值得一试! 另外,根据我的评论,你应该在条件中包装resize()函数,以便测试和回应任何错误。

PS。当你更习惯CI并且MVC模型考虑将所有数据库逻辑移动到模型时。