마스터욱
Toggle navigation
  • 회원가입 | 정보찾기
ICON NAVIGATION
정보수정 쪽지함 주변맛집 익명채팅
공지사항 채팅 개발문의 방명록
  • MAIN NAVIGATION
  • 메인
  • 마스터욱 공간
    • 마스터욱 소개
    • 개발 리스트
    • 공지사항
    • 방명록
  • 마스터욱 외부자료
    • 네이버
    • 티스토리
    • 깃허브(github)
  • 개인 프로젝트
    • 랜덤 이성 채팅
    • Auto 크롤링
    • Javascript 카카오 채팅
    • 파이썬 뉴스매매
    • C# 키움 주식 자동매매
    • C# 키움 주식 패턴 분석
    • PHP 욱보드
    • 업비트 자동매매 개발
    • 업비트 자동매매 일지
  • 개발 의뢰
    • 개발 문의
    • 개발 견적
    • 개발 피드백
    • FAQ
  • 개발 경험 Tip
    • PHP
    • JSP
    • HTML
    • Javascript
    • Android
    • C#
    • MySQL
    • Linux
    • Python
    • NodeJS
    • React
    • Vue.js
    • Flutter
    • 정규식
    • 기타
  • 커뮤니티
    • 자유게시판
    • 추천사이트
    • 영화
    • 여행
    • 유머
    • Overseas News
  • 맛집&즐길 거리 탐방
    • 맛집 정보
    • 즐길 거리 정보
    • 내 주위 맛집&즐길 거리
  • 공유 사진
    • 음식
    • 여행
    • 캐릭터
    • 배경
    • 기타
    • 이모티콘
    • 일러스트
  • 놀이터
    • 블록뽀시기
    • 트레이딩뷰
    • 로또 시뮬레이션
    • 쳇쳇 익명 채팅
    • 랜덤 이성 채팅
    • AI 채팅
    • 미니 채팅
    • 바이너리 테스트
    • 마번호 생성기
    • 바카라 시뮬레이션
    • 홀짝점수 테스트
    • 로또 분석기
SITE STATISTICS
  • - 명 현재 접속자
  • 137 명 오늘 방문자
  • 1,673 명 어제 방문자
  • 5,192 명 최대 방문자
  • 695,612 명 전체 방문자
  • 2,570 개 전체 게시물
  • 496 개 전체 댓글수
Facebook Twitter GooglePlus KakaoStory NaverBand
  1. 홈
  2. PHP
목록으로

imagecreatefrompng 가 안 먹던 현상 해결

마스터욱 0 166 0 0 2020-01-30 21:13:05

결론부터 말하자면 imagecreatefrompng 가 작동이 안되던게 아니라,

눈에 보이는 파일확장자와, mime 타입의 확장자가 달라서 발생한 문제였다...

 

해당 문제를 어떻게 직면하게 되었냐면은,

카메라로 사진을 바로 찍어서 이미지를 업로드하면, 이미지가 자동으로 회전이 되지 않는다는 것이었다.

그래서 확인해보니, mime 타입의 확장자와 실제파일명의 확장자와 다르다는 것을 확인하였다.

카메라 앱으로 바로찍은 이미지의 경우 이미지 확장자가 눈에 보이기에는 xxxxx.png 파일로 나오는데, 실제로 getimagesize 로 확장자를 알아보면 jpeg 로 나오는 것이었다.

이건 안드로이드 버그 아니냐?????

 

 

//이거 사용하면 안됨

//$tmp = explode(".", $image_path);

//$ext = $tmp[sizeof($tmp) - 1];

//mime 타입으로 처리하는게 정확함 2020-01-30

//웃긴게 파일명은 png 인데 mime 타입은 jpg 였음 -_-;

$img_info = getimagesize($image_path);

$tmp = explode("/", $img_info['mime']);

$ext = $tmp[1];

if($ext == "jpg" || $ext == "jpeg"){

    $image = imagecreatefromjpeg($image_path);

}else if($ext == "png"){

    $image = imagecreatefrompng($image_path);

}else if($ext == "bmp" || $ext == "wbmp"){

    $image = imagecreatefromwbmp($image_path);

}else if($ext == "gif"){

    $image = imagecreatefromgif($image_path);

}

$exif = exif_read_data($image_path);

if(!empty($exif['Orientation']))

{

    switch($exif['Orientation'])

    {

        case 8:

            $image = imagerotate($image,90,0);

            break;

        case 3:

            $image = imagerotate($image,180,0);

            break;

        case 6:

            $image = imagerotate($image,-90,0);

            break;

    }

    if($ext == "jpg" || $ext == "jpeg"){

        imagejpeg($image,$image_path);

    }else if($ext == "png"){

        imagepng($image,$image_path);

    }else if($ext == "bmp" || $ext == "wbmp"){

        imagewbmp($image,$image_path);

    }else if($ext == "gif"){

        imagegif($image,$image_path);

    }

}

0
0

목록

Facebook Twitter GooglePlus KakaoStory NaverBand
0 Comments

비밀번호 확인

확인
댓글은 자신을 나타내는 '얼굴'입니다. *^^*
등록
자동등록방지 숫자를 순서대로 입력하세요.

댓글수정


글쓰기
검색
번호 제목 이름 날짜 조회
  • 81
    특정 폴더를 돌면서(하위까지) 이미지 퀄리티 조절하고, 이미지 사이즈까지 조절하는 코드
    마스터욱
    조회수 219   25-04-11 18:31
    마스터욱
    25-04-11 18:31
    219
  • 80
    JSON 데이터 DB에 넣을때, 데이터를 이쁘게 해주는 함수(JSON_PRETTY_PRINT)
    마스터욱
    조회수 190   25-02-08 13:45
    마스터욱
    25-02-08 13:45
    190
  • 79
    PHP 로 웹푸시 만들기
    마스터욱
    조회수 240   23-05-11 22:16
    마스터욱
    23-05-11 22:16
    240
  • 78
    FastCGI sent in stderr: "PHP message: PHP Fatal error: Allowed memory size of
    마스터욱
    조회수 186   22-12-04 05:36
    마스터욱
    22-12-04 05:36
    186
  • 77
    window apache2 php7 에서 curl 이 인식되지 않을때 해결방법
    마스터욱
    조회수 176   22-08-08 22:41
    마스터욱
    22-08-08 22:41
    176
  • 76
    exec 사용시에 에러확인 방법
    마스터욱
    조회수 167   22-06-23 01:52
    마스터욱
    22-06-23 01:52
    167
  • 75
    리눅스(우분투) 시스템 모니터링 PHP 오픈소스
    마스터욱
    조회수 152   22-01-10 00:27
    마스터욱
    22-01-10 00:27
    152
  • 74
    json_encode 시에 한글이 깨지는 경우 해결방법
    마스터욱
    조회수 180   21-12-23 05:24
    마스터욱
    21-12-23 05:24
    180
  • 73
    exec 사용시, 에러확인 방법
    마스터욱
    조회수 150   21-12-19 16:08
    마스터욱
    21-12-19 16:08
    150
  • 72
    PHP - PDF 파일 만들기
    마스터욱
    조회수 151   21-12-16 11:23
    마스터욱
    21-12-16 11:23
    151
  • 71
    http_build_query 함수에서 배열처리
    마스터욱
    조회수 170   21-12-07 06:10
    마스터욱
    21-12-07 06:10
    170
  • 70
    http 로 접속할 경우, https 로 포워딩 되도록 하는 소스
    마스터욱
    조회수 161   21-11-16 22:57
    마스터욱
    21-11-16 22:57
    161
  • 69
    exec 함수 사용시, 백그라운드에서 명령어 실행하기
    마스터욱
    조회수 179   21-11-10 04:08
    마스터욱
    21-11-10 04:08
    179
  • 68
    크롤링 라이브러리 스누피(Snoopy) 사용시 노하우 팁!
    마스터욱
    조회수 402   21-10-20 02:24
    마스터욱
    21-10-20 02:24
    402
  • 67
    PHP 숫자 0 을 인식하는 방법
    마스터욱
    조회수 232   21-05-27 14:32
    마스터욱
    21-05-27 14:32
    232
  • 66
    텔레그램 채널 알림(푸시) API
    마스터욱
    조회수 153   21-04-08 02:05
    마스터욱
    21-04-08 02:05
    153
  • 65
    [2] apmsetup 대신에 쓸만한 프로그램, 오토셋(Autoset) [2]
    마스터욱
    조회수 179   21-04-07 16:25
    마스터욱
    21-04-07 16:25
    179
  • 64
    jQuery ezPlus 그누보드 상세페이지 이미지에 적용소스
    마스터욱
    조회수 177   21-03-22 16:34
    마스터욱
    21-03-22 16:34
    177
  • 63
    bitmex API - 주문리스트 가져오기(order list)
    마스터욱
    조회수 191   21-01-03 16:31
    마스터욱
    21-01-03 16:31
    191
  • 62
    bitmex API - 주문하기(order)
    마스터욱
    조회수 203   20-12-31 17:11
    마스터욱
    20-12-31 17:11
    203
글쓰기
검색
  • 1
  • 2
  • 3
  • …
  • 5
  • 다음

Search

개인정보처리방침
마스터욱. All rights reserved.

Close

0 명 접속중
Time Loading...