2014-09-09 3 views
0

도움이 필요합니다.업로드시 자동 자르기 이미지

이미지 업로드 양식이 있습니다. 자동으로 이미지를 자르고 싶습니다. 그리고 제출시 자른 이미지를 저장하십시오.

<input type="file" id="file" name="files[]" multiple/> 

나는 작물 이미지에 원하는 : 예를 들어 800 × 600,하지만 이미지의 중심에서,하지 모서리에서.

+0

이미지 자르기를 브라우저 또는 웹 서버에서 수행 하시겠습니까? –

+0

@TasosK. 이미지를 업로드하는 동안 동시에 자르고 저장해야합니다. 사진을 업로드하고 사진을 자르는 모든 온라인 웹 사이트와 마찬가지로 –

+0

'python'을 알고 서버에서'cgi-scripting '을 가능하게하면 훨씬 더 쉬울 것입니다. –

답변

1

파일을 정상적으로 업로드하십시오. 그런 다음,이 트릭을 수행해야합니다

$filename = "LINK TO IMAGE"; 

// Get dimensions of the coriginal image 
list($width, $height) = getimagesize($filename); 

// Resample the image 
$canvas = imagecreatetruecolor('800', '600'); 
$current_image = imagecreatefromjpeg($filename); 
imagecopy($canvas, $current_image, 0, 0, $width/2, $height/2, '800', '600'); 
imagejpeg($canvas, $filename.'_cropped.jpg', 100); 
chmod($filename.'_cropped.jpg', 0644); 
unlink($filename); 

나는 위의 코드를 테스트하지 않았다. 오류가있는 경우 의견을 추가해 주시면 도와 드리겠습니다.

+0

답변 주셔서 감사합니다,하지만이 $ 파일 이름은 이미 이미지를 업로드 한 때입니다,이 사진을 업로드하기 전에 사진을 업로드하고 싶지만 어떻게해야할지 모릅니다 :/ –

+0

@ shapic94 업로드하기 전에 자바 스크립트 나 다른 클라이언트가 필요합니다 측면 언어. 그냥 업로드, 크기 조정 및 원본 삭제 ('unlink ($ filename);)는 원본을 삭제합니다. PHP를'/ tmp' 폴더 나 다른 폴더에있는 서버에서 사용하는 것을 고려한다면, 똑같은 제안을했습니다. –

+0

한 번 더 감사드립니다. 한 가지 새로운 질문이 있습니다. 나는 사용자가 물건을 팔 수있는 프로젝트에 참여하고 있습니다. 이베이처럼. 그리고 그들이 그림을 올리거나, 원래 그림을 저장하거나, 자르려면? 이후 광고보기 (모든 사진은 너비가 동일해야 함) 때문입니다. 업로드시 사진을 자르거나 사진을 볼 때 사진을 잘라내는 것이 좋습니다. 내가 원하는 걸 이해한다면 –

관련 문제