2015-01-31 2 views
0

Я использую codeigniter, и я хочу изменить размер изображения от пользователя, загружающего через URL-адрес.Как изменить размер изображения из файла получить контент

Вот мой код:

  //upload via url 
      $url = $this->input->post('photo'); 
      /* Extract the filename */ 
      $filename = substr($url, strrpos($url, '/') + 1); 
      /* Save file wherever you want */ 
      file_put_contents('myuploads/'.$filename, file_get_contents($url)); 
      //resize start 
      $config['image_library'] = 'gd2'; 
      $config['source_image'] = $filename; 
      $config['overwrite']  = TRUE; 
      $config['width'] = 59; 
      $config['height'] = 90; 
      $this->load->library('image_lib', $config); 
      $this->image_lib->initialize($config); 
      $this->image_lib->resize(); 
      $data=array(
       'username'=>$this->input->post('username'), 
       'deskrip'=>$this->input->post('deskrip'), 
       'photo'=>$filename 
      ); 
      $this->db->where('id',$id); 
      $outp = $this->db->update('user',$data); 

Загрузить работает, но проблема в том, изображение не будет изменять размеры в 59x90 и до сих пор в оригинальном размере.

Любой ответ?

Большое спасибо ..

метод
+0

Первый запуск phpinfo(); и посмотрите, установлен ли gd2 установленный модуль. –

+0

Вы пытались отлаживать? Что работало? Где он перестает работать? –

ответ

0

размера() работает или вы не можете увидеть ошибку:

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

см Documentation Существует хороший учебник для обработки изображения, из tutsplus

Надеюсь, это поможет вам.

Благодаря

0

Может быть немного не по теме (не через CodeIgniter), но я нашел этот метод, чтобы быть немного легче в моем проекте.

Я использовал эту логику для логики обрезки изображений.

$value = "picture.jpg"; 
$x = $p[0]; 
$y = $p[1]; 
$w = $p[2]; 
$h = $p[3]; 

$targ_w = $w; 
$targ_h = $h; 
$jpeg_quality = 90; 

$src = REAL_PATH."uploads/".$value; 
$src_end = $path."/".$value; 
$ext = pathinfo($src, PATHINFO_EXTENSION); 
if(($ext == "jpg" || $ext == "jpeg") && isset($x) && isset($y) && isset($w)) 
{ 
    $img_r = imagecreatefromjpeg($src); 
    $dst_r = ImageCreateTrueColor($targ_w, $targ_h); 

    imagecopyresampled($dst_r,$img_r,0,0,$x,$y, 
    $targ_w,$targ_h,$w,$h); 
    unlink($src); 
    imagejpeg($dst_r,$src_end,$jpeg_quality); 
} 
Смежные вопросы