2012-07-10 6 views
0

URL에서 이미지를 검색하고 크기를 조정하여 폴더에 저장하려고합니다.file_get_contents가 검색 한 이미지의 크기를 조정하고 폴더에 저장하는 방법은 무엇입니까?

$url = 'http://www.example.com/image/test.jpg'; 
$img = 'images/newtest.jpg';  
file_put_contents($img, file_get_contents($url)); 

문제는 file_put_contents하기 전에, 내가 이미지 크기를 조정하려는 것입니다 :

나는 URL에서 이미지를 검색하는이 코드가 있습니다. PHP로 어떻게 할 수 있습니까? 제발 도와주세요, 나는 인터넷에서 검색했지만 명확하지 않은 설명으로 끝났습니다.

답변

1

GD2 또는 ImageMagick 라이브러리를 사용할 수 있습니다. 여기

2

는 ImageMagick이이 서버에 설치되어있는 경우 당신이 ... 그것을 할 수있는 방법입니다

$url = 'http://www.example.com/image/test.jpg'; 
$img = 'images/newtest.jpg';  
file_put_contents($img, file_get_contents($url));  
$image = new Imagick($img); 
    $imageprops = $image->getImageGeometry(); 
    if ($imageprops['width'] <= 200 && $imageprops['height'] <= 200) { 
     // don't upscale 
    } else { 
     $image->resizeImage(200,200, imagick::FILTER_LANCZOS, 0.9, true); 
    } 
1

당신은 가장 구체적으로 imagecreatefromjpeg() 기능에서의 GD Image Processing Library의 설명서를 살펴해야합니다.

과 같이 할 수있는 트릭을 수행 예 기능 :

function resize_jpeg($original_image, $new_height, $new_width, $filename) 
{ 
    // Resize the original image 
    $image_resized = imagecreatetruecolor($new_width, $new_height); 
    $image_tmp = imagecreatefromjpeg ($original_image); 
    imagecopyresampled($image_resized, $image_tmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 

    // Output 
    imagejpeg($image_resized, $filename.".jpg", 100); 
    imagedestroy($image_resized); 
} 

기능은 기본적으로 새로운 높이 이미지 참조를 작성 이전 하나를로드 한 다음 리샘플링. jpeg 대신 pnggif을 사용할 수 있습니다. GD은 애니메이션 GIF 파일을 제대로 다시 샘플링 할 수 없으므로주의하십시오.

original_image은로드 할 이미지의 파일 경로 입니다. new_widthnew_height은 각각 대상 너비와 높이의 정수입니다. filename은이 예제에서 .jpg 확장자가없는 대상 파일 이름입니다.

관련 문제