2016-09-19 19 views
1

画像を160 x 160にサイズ変更してサムネイルを作成し、そのサムネイルをフォルダに保存します。私は実際の画像を保存するのではなく、そのサムネイルだけを保存したい。以下は私のコードです:アップロード前に画像のサムネイルを作成する - PHP codeigniter

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

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

    $blog_image = $_FILES['blog_image']['name']; 

    $config = array ('upload_path' => './blogs/', 
        'allowed_types' => "jpeg|jpg|png", 
        'overwrite' => TRUE, 
        'image_library' => 'gd2', 
        'source_image' => $blog_image, 
        'create_thumb' => TRUE, 
        'maintain_ratio' => TRUE, 
        'width' => 160, 
        'height' => 160 
        ); 

$this->upload->initialize($config); 

$this->upload->do_upload('blog_image'); 

$this->image_lib->resize(); 

このコードは機能しません。画像のサイズを変更せずに画像をアップロードします。助けてください。

+0

サーバーにGD/GD2、NetPBM、またはImageMagickがインストールされていますか? – alloyking

+0

私は分かりません。どうすればそれをチェックできますか?現在私のlocalhost AppServで作業中です –

+0

Windows、Mac、Linuxのどちらですか? – alloyking

答えて

0
$config['image_library'] = 'gd2'; 
$config['source_image'] = $_FILES['image']['tmp_name']; 
$config['new_image'] = $target_path 
$config['maintain_ratio'] = TRUE; 
$config['width'] = 160; 
$config['height'] = 160; 

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

if (!$this->image_lib->resize()) { 
    echo $this->image_lib->display_errors(); 
} 

チェック詳細はこのリンク...サンプルコード以下https://stackoverflow.com/a/13154916/6588826

0

してみてください。

$config = array(
     'upload_path' => './blogs/', 
     'allowed_types' => 'jpg|png|gif', 
     'max_filename' => '255', 
     'encrypt_name' => TRUE, 

    ); 


    $this->load->library('upload', $config); 
    //check file successfully uploaded. 'blog_image' is the name of the input 
    if ($this->upload->do_upload('blog_image')) { 
     //Now go to resize 
     $image_data = $this->upload->data(); 
     $config_resize = array(
       'image_library' => 'gd2', 
       'source_image' => $image_data['full_path'], //get original image 
       'maintain_ratio' => TRUE, 
       'width' => 160, 
       'height' => 160 
      ); 

     $this->load->library('image_lib', $config_resize); 
     if (!$this->image_lib->resize()) { 

      print_r($this->image_lib->display_errors()); 
     } 
    }else{ 
     print_r($this->upload->display_errors()); 
    } 
関連する問題