2014-02-25 10 views
1

CodeIgniter를 사용하여 개인 웹 사이트 용 시스템을 작성하고 GD2 라이브러리를 사용하여 필요에 따라 이미지를 조작했습니다. 그것은 localhost와 테스트를 위해 사용했던 무료 호스팅에서 잘 작동했습니다. 하지만 이제는 다른 공급자로부터 유료 호스팅을하고 있기 때문에 jpg 파일에서는 작동하지 않습니다. 깨진 이미지 아이콘을 보여줍니다. 그러나 PNG 파일로 잘 작동합니다. 조작 오류를 표시하려고 시도했지만 아무 것도 표시되지 않았습니다.CodeIgniter 이미지 조작 JPG 오류

여기 내 미디어 컨트롤러가 이미지를 조작합니다.

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 

class Media extends CI_Controller 
{ 

function sandbox($imageName , $width) 
    { 

     if(!is_file('uploads/sandbox/'.$width.'-'.$imageName)) { 
     $config['image_library'] = 'gd2'; 
     $config['source_image'] = 'uploads/original/'.$imageName; 
     $config['new_image'] = 'uploads/sandbox/'.$width.'-'.$imageName; 
     $config['dynamic_output'] = FALSE; 
     $config['maintain_ratio'] = TRUE; 
     $config['master_dim'] = 'width'; 
     $config['width'] = $width; 
     $config['height'] = $width; 

     $this->image_lib->initialize($config); 
     return $this->image_lib->resize(); 
    } else { 
     return true; 
    } 

    } 

    public function covers($imageName) 
    { 

    if($this->sandbox($imageName, 920)) { 

     $config['image_library'] = 'gd2'; 
     $config['source_image'] = 'uploads/sandbox/'.'920-'.$imageName; 
     $config['dynamic_output'] = TRUE; 
     $config['maintain_ratio'] = FALSE; 
     $config['width'] = 920; 
     $config['height'] = 450; 

     $this->image_lib->initialize($config); 
     $this->image_lib->crop(); 

    } 


    } 

    public function images($imageName) 
    { 

    if($this->sandbox($imageName, 440)) { 

     $config['image_library'] = 'gd2'; 
     $config['source_image'] = 'uploads/sandbox/'.'440-'.$imageName; 
     $config['dynamic_output'] = TRUE; 
     $config['maintain_ratio'] = FALSE; 
     $config['width'] = 440; 
     $config['height'] = 300; 

     $this->image_lib->initialize($config); 
     if(!$this->image_lib->crop()){ 
      echo $this->image_lib->display_errors(); 
     } 

    } 

    } 

    public function facebook($imageName) 
    { 

    $config['image_library'] = 'gd2'; 
    $config['source_image'] = 'uploads/original/'.$imageName; 
    $config['dynamic_output'] = TRUE; 
    $config['maintain_ratio'] = FALSE; 
    $config['width'] = 256; 
    $config['height'] = 256; 

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

    } 

} 
+0

GD를 서버에 설치하셨습니까? 나는 그걸로 한 번 잡혔다. –

+0

크기 조정 및 다른 파일 (위의 샌드 박스 기능)에 저장하는 동안 문제가 없습니다. 그것이 jpg이든 png이든간에. – SuperioREX

+0

은 자동 로딩되는 image_lib 라이브러리입니까? 그렇지 않다면 라이브러리를 불러 오기 전에 라이브러리를로드해야합니다. 나는 오류보고가 꺼져 있다고 생각한다. 오류보고 기능을 켜십시오. –

답변