2013-06-04 2 views
8
Ben resim yükleme yapmış

bu tür işlemek için gereken GD fonksiyonunu desteklemiyor, CI defalarca resized. Aynı kod bir sayfada çalışıyor ancak başka bir sayfada çalışmıyor. hatayı görüntülediğimde "Sunucunuz bu tür bir görüntüyü işlemek için gereken GD işlevini desteklemiyor" diyor. Görüntü yüklenecek kod ... \Sunucunuz image.Ci

function do_upload() { 

     $original_path = './uploads/activity_images/original'; 
     $resized_path = './uploads/activity_images/resized'; 
     $thumbs_path = './uploads/activity_images/thumb'; 
     $this->load->library('image_lib'); 

     $config = array(
      'allowed_types' => 'jpg|jpeg|gif|png', //only accept these file types 
      'max_size' => 2048, //2MB max 
      'upload_path' => $original_path //upload directory  
     ); 
     $this->load->library('upload', $config); 
     $this->upload->do_upload(); 
     $image_data = $this->upload->data(); //upload the image 
     $image1 = $image_data['file_name']; 

     //your desired config for the resize() function 
     $config = array(
      'source_image' => $image_data['full_path'], //path to the uploaded image 
      'new_image' => $resized_path, 
      'maintain_ratio' => true, 
      'width' => 128, 
      'height' => 128 
     ); 
     $this->image_lib->initialize($config); 
     $this->image_lib->resize(); 

     // for the Thumbnail image 
     $config = array(
      'source_image' => $image_data['full_path'], 
      'new_image' => $thumbs_path, 
      'maintain_ratio' => true, 
      'width' => 36, 
      'height' => 36 
     ); 
     //here is the second thumbnail, notice the call for the initialize() function again 
     $this->image_lib->initialize($config); 

     $this->image_lib->resize(); 
     //$this->image_lib->clear(); 
     echo $this->image_lib->display_errors(); 
     var_dump(gd_info()); 
     die(); 
     return $image1; 
    } 

Neler olup bittiğini anlayamıyorum .. ??

$original_path = './uploads/activity_images/original'; 
$resized_path = './uploads/activity_images/resized'; 
$thumbs_path = './uploads/activity_images/thumb'; 
$this->load->library('image_lib'); 

için:

+0

yüklemek ne var_dump (gd_info()); 'verir mi? –

+0

array 'GD Sürüm' => string 'paketlenmiş (2.0.34 uyumlu)' (uzunluk = 27) 'FreeType Desteği' => boolean true 'FreeType Bağlantı' => 'freetype ile' dizesi (uzunluk = 13) 'T1Lib Destek' => boolean false 'GIF Okuma Desteği' => boolean true 'GIF Destek oluştur' => boolean true 'JPEG Desteği' => boolean true 'PNG Destek' => boolean true 'WBMP Destek '=> boolean true ' XPM Desteği '=> boolean false ' XBM Desteği '=> boolean true ' JIS eşlemeli Japonca Yazı Tipi Desteği '=> boole false – Drudge

+0

Ayrıca, $ config [' image_library '] var mı? = 'gd2'; '? –

cevap

4
adresinin ilk satırları değiştirmek

$config['image_library'] = 'gd2'; 
$original_path = './uploads/activity_images/original'; 
$resized_path = './uploads/activity_images/resized'; 
$thumbs_path = './uploads/activity_images/thumb'; 
$this->load->library('image_lib', $config); 
+1

Sadece o ... – Drudge

+0

Hm çalışmaya giriş alanını değiştirin. Tamam, harika oldun. –

+3

Geçerli bir görüntü dosyasına tam bir yol sağlamazsanız CI'nin bu hatayı attığını öğrendim. Örneğin dosya adı eksikse, getimagesize() işlevi false değerini döndürür ve bu da hataya neden olur. Çok açık değil ... – stef

11

Ben benzer bir sorun karşı karşıya benim Proje süresince. Bu link, çözmemde bana yardımcı oluyor. hiçbir şey (benim durumumda) çalışırsa

$this->load->library('image_lib'); 
// Set your config up 
$this->image_lib->initialize($config); 
// Do your manipulation 
$this->image_lib->clear(); 
+0

+1 sadece bu çözüm benim için çalıştı. –

+0

benim için de CI 3 kullanarak çalışıyor –

-1

ile

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

değiştirin, hata aslında bütün sorun olabilir. Yüklü gd varsa

  1. Kontrol, linux üzerinde yüklü

    sudo yum liste yapacağını | grep php

    yüklü değilse
  2. yüklemek o

    sudo yum php-gd-paket-adı

  3. YENİDEN apache

    sudo hizmet httpd restart