이것이 팁일지는 모르겠습니다. ^^*
스마트폰으로 이미지를 업로드하면 자꾸 /lib/thumbnail.lib.php 256라인 에러로 뜨더라구요
고생하다 호스팅업체와 이야기하던중 해결 됬씀다.
혹시나 나같은 경우가 있으신분이 있을까 해서요
php 버전이나 gd 버전에 따라 지원되지 않거나 가끔 에러가 나는 경우가 있는데
imagerotate 함수가 그런 경우 입니다.
이럴때는 imagerotate 함수를 대처하여 사용할수있는 동일 기능을 구현할 수 있는데
http://php.net/manual/en/function.imagerotate.php
를 보면 예제 소스들이 많이 있으며 확인해 수정
/lib/thumbnail.lib.php 파일에 rotateImage 함수를 대처할 rotateImage 함수를
256라인 $src = imagerotate($src, $degree, 0); 을 $src = rotateImage($src, $degree); 로 수정
최하단에 아래 소스를 추가
function rotateImage($img1, $rec) {
$wid = imagesx($img1);
$hei = imagesy($img1);
switch($rec) {
case 270:
$img2 = @imagecreatetruecolor($hei, $wid);
break;
case 180:
$img2 = @imagecreatetruecolor($wid, $hei);
break;
default :
$img2 = @imagecreatetruecolor($hei, $wid);
}
if($img2) {
for($i = 0;$i < $wid; $i++) {
for($j = 0;$j < $hei; $j++) {
$ref = imagecolorat($img1,$i,$j);
switch($rec) {
case 270:
if(!@imagesetpixel($img2, ($hei - 1) - $j, $i, $ref)){
return false;
}
break;
case 180:
if(!@imagesetpixel($img2, $i, ($hei - 1) - $j, $ref)) {
return false;
}
break;
default:
if(!@imagesetpixel($img2, $j, ($wid - 1) - $i, $ref)) {
return false;
}
}
}
}
return $img2;
}
return false;
}
=============== 아래가 최하단 소스 ===================
while(!feof($fh) && $count < 2) {
$chunk = fread($fh, 1024 * 100); //read 100kb at a time
$count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00(\x2C|\x21)#s', $chunk, $matches);
}
fclose($fh);
return $count > 1;
}
<---- 여기에 추가하면 되더라구요
?>
스마트폰으로 이미지를 업로드하면 자꾸 /lib/thumbnail.lib.php 256라인 에러로 뜨더라구요
고생하다 호스팅업체와 이야기하던중 해결 됬씀다.
혹시나 나같은 경우가 있으신분이 있을까 해서요
php 버전이나 gd 버전에 따라 지원되지 않거나 가끔 에러가 나는 경우가 있는데
imagerotate 함수가 그런 경우 입니다.
이럴때는 imagerotate 함수를 대처하여 사용할수있는 동일 기능을 구현할 수 있는데
http://php.net/manual/en/function.imagerotate.php
를 보면 예제 소스들이 많이 있으며 확인해 수정
/lib/thumbnail.lib.php 파일에 rotateImage 함수를 대처할 rotateImage 함수를
256라인 $src = imagerotate($src, $degree, 0); 을 $src = rotateImage($src, $degree); 로 수정
최하단에 아래 소스를 추가
function rotateImage($img1, $rec) {
$wid = imagesx($img1);
$hei = imagesy($img1);
switch($rec) {
case 270:
$img2 = @imagecreatetruecolor($hei, $wid);
break;
case 180:
$img2 = @imagecreatetruecolor($wid, $hei);
break;
default :
$img2 = @imagecreatetruecolor($hei, $wid);
}
if($img2) {
for($i = 0;$i < $wid; $i++) {
for($j = 0;$j < $hei; $j++) {
$ref = imagecolorat($img1,$i,$j);
switch($rec) {
case 270:
if(!@imagesetpixel($img2, ($hei - 1) - $j, $i, $ref)){
return false;
}
break;
case 180:
if(!@imagesetpixel($img2, $i, ($hei - 1) - $j, $ref)) {
return false;
}
break;
default:
if(!@imagesetpixel($img2, $j, ($wid - 1) - $i, $ref)) {
return false;
}
}
}
}
return $img2;
}
return false;
}
=============== 아래가 최하단 소스 ===================
while(!feof($fh) && $count < 2) {
$chunk = fread($fh, 1024 * 100); //read 100kb at a time
$count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00(\x2C|\x21)#s', $chunk, $matches);
}
fclose($fh);
return $count > 1;
}
<---- 여기에 추가하면 되더라구요
?>
댓글 2개
게시글 목록
| 번호 | 제목 |
|---|---|
| 1583 | |
| 1580 | |
| 1579 | |
| 1566 | |
| 1555 | |
| 1533 | |
| 1523 | |
| 1489 | |
| 1486 | |
| 1471 | |
| 1467 | |
| 1449 | |
| 1444 | |
| 1443 | |
| 1441 | |
| 1431 | |
| 1426 | |
| 1425 | |
| 1420 | |
| 1418 | |
| 1412 | |
| 1405 | |
| 1401 | |
| 1398 | |
| 1392 | |
| 1383 | |
| 1375 | |
| 1372 | |
| 1371 | |
| 1370 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기