2013-06-30 3 views
0

이전에 사용자가 서버에 업로드 한 이미지를 잘라내어 다른 폴더에 미리보기 이미지로 저장하는 간단한 PHP 스크립트를 만들었습니다.PHP 스크립트에서 iPhoto 이미지가 작동하지 않습니다.

$src_x = $_POST['left']; // Crop start x 
$src_y = $_POST['top']; // Crop start y 
$dst_w = $_POST['dim']; // Thumb width 
$dst_h = $_POST['dim']; // Thumb height 
$src_w = $_POST['dim']; // $src_x + $dst_w 
$src_h = $_POST['dim']; // $src_y + $dst_h 
$contact = $_POST['contact']; 
$ratio = $_POST['ratio']; 
$file_tmp = $_POST['file_tmp']; 
$file_ext = strtolower(end(explode('.', $file_tmp))); 

$img_info = getimagesize($file_tmp); 

if ($file_ext == 'png') { 
    $src = imagecreatefrompng($file_tmp); 
} 
else if ($file_ext == 'jpeg' || $file_ext == 'jpg') { 
    $src = imagecreatefromjpeg($file_tmp); 
} 
else if ($file_ext == 'gif') { 
    $src = imagecreatefromgif($file_tmp); 
} 

$dst = imagecreatetruecolor(154, 154); 

imagecopyresampled($dst, $src, 0, 0, $src_x * $ratio, $src_y * $ratio, 154, 154, $src_w * $ratio, $src_h * $ratio); 

$img_name = $contact.'.png'; 
imagepng ($dst, '../images/invitados/'.$img_name); 

스크립트는 사람이 무슨 일이 일어나고 있는지 알고 있나요 iPhoto를 사용하여 사용자 ... 수입 된 그 이미지를 제외한 모든 JPEG/JPG/GIF/PNG 년대와 100 % 잘 작동 ??? 나는 그 문제가 어디 있는지 모른다는 이유로 잘 모르겠다. 스크립트는 심지어 검은 색 이미지를 반환하지 않기 때문에 PNG 파일을 만들지도 않는다 ...

도와주세요!

많은 감사

아이 포토에서 iPhoto.Photos에서 내 보낸 이미지 형식은 JPEG로 내보낼 수 있습니다
+2

어디서 가져오고, 어떤 형식을 사용합니까? 무엇이 잘못되었는지를 명확히 할 수 있습니까? 오류보고가 활성화되어 이미지가 너무 큰 것을 볼 수 있습니까? –

+0

사용자가 'images/tmp'라는 폴더에 이미지를 업로드합니다. 최대 5MB의 이미지 만 허용하도록 스크립트를 업로드하는 스크립트에 오류 처리가 있습니다. 파일이 업로드되면 화면에 드래그 가능한 div가있는 파일이 표시되어 잘라내어 저장할 이미지 부분을 선택합니다. 버튼을 클릭하면이 div의 좌표와 크기가 위에 게시 된 스크립트로 전달되고 'images/tmp'의 이미지를 자르기하여 미리보기 이미지가 만들어집니다. 이것은 사용자가 iPhoto로 사진을 가져온 사용자를 제외하고 어떤 사진에서도 잘 작동합니다 ... – user2536467

+0

괜찮 았으나 오류를 포착하지 못하고 있습니다. 'imagecreatefrompng()'를 호출 할 때 (메모리가 너무 큰 경우처럼). 오류보고 기능이 있습니까? –

답변

1

확인 | PNG | 사소한 말다툼.

아마 자르려고하는 이미지가 스크립트 조건에 포함되지 않은 TIFF 형식 일 수 있습니다.

+0

답변 해 주셔서 감사합니다! 인터넷에서 jpg를 다운로드하고 스크립트를 통해 실행합니다. 이것은 잘 작동합니다. 그 그림을 iPhoto로 가져 와서 스크립트를 통해 실행하면 작동하지 않습니다! iPhoto의 이미지는 같은 형식이며 이전과 같은 이름과 크기가 있습니다. :-(( – user2536467

+0

오) 그래서 iPhoto로 가져온 이미지를 자르려고합니다. 스크립트가 실제로 iPhoto로 가져온 이미지를 찾습니다. – junerey

관련 문제