티스토리 뷰
PHP getimagesize() 이미지 사이즈 구하기
이미지 사이즈 구하는 모듈을 사용하기 위해서는 GD 라이브러리가 필요합니다
리눅스 : gd library가 리눅스 설치
윈도우 : PHP 환경설정파일 수정 및 재시작
1 리눅스 GD설치법 및 확인
인터넷 검색을 통하여 쉽게 찾을수 있으며 설치 순서에 유의하여 설치한다. 설치후에 PHP 에서 작동이 가능해야 함으로
PHP 설치 옵션에도 신경을 써야합니다.
아래는 GD 가 설치가 되어 PHP 에서 사용이 가능한 상태를 알수 있는 이미지 캡쳐이고 PHPINFO() 함수를 통해 출력할 수 있습니다.
2 윈도우 GD 사용법
윈도우 : PHP 환경설정파일 수정 및 재시작
1) php5>ext>php_gd2.dll 이 있는지 확인하세요~
2) 환경설정 파일 php.ini 설정
php.ini에서 다음 소스를 수정하세요~
;extension=php_gd2.dll 의 주석을 다음과 같이 제거하세요~
extension=php_gd2.dll
3) 웹서버를 다시 실행하세요~
이제 GD 가 설치 되었다는 가정하에 getimagesize() 사용법에 대하여 설명하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $flUploadPath="../file/adv/".$row[save_file_name]; $imgSize = getimagesize($flUploadPath); $imgWidth = $imgSize[0]; $imgHeight= $imgSize[1]; //getimagesize 함수의 배열 타입 //[0] = 넓이값 정수 //[1] = 높이값 정수 //[2] = 이미지타입. It is an integer data type. ?> | cs |
$flUploadPath 변수에 해당 이미지의 url (상대경로나 절대경로 모두 가능) 으로 지정하여 getimagesize 함수를 실행하게 되면
$imgSize 변수에 배열로 해당 이미지의 정보가 저장되어 이를 이용하여 이미지 사이즈를 처리할 수 있게 된다.
이와 같은 함수를 좀더 쉽게 함수화 하여 사용한 예제를 보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php function img_resize_only($path, $img, $maxwidth, $maxheight) { if($img) { // $img는 이미지의 경로(예:./images/phplove.gif) $imgsize = getimagesize($path.$img); if($imgsize[0]>$maxwidth || $imgsize[1]>$maxheight) { // 가로길이가 가로limit값보다 크거나 세로길이가 세로limit보다 클경우 $sumw = (100*$maxheight)/$imgsize[1]; $sumh = (100*$maxwidth)/$imgsize[0]; if($sumw < $sumh) { // 가로가 세로보다 클경우 $img_width = ceil(($imgsize[0]*$sumw)/100); $img_height = $maxheight; } else { // 세로가 가로보다 클경우 $img_height = ceil(($imgsize[1]*$sumh)/100); $img_width = $maxwidth; } } else { // limit보다 크지 않는 경우는 원본 사이즈 그대로..... $img_width = $imgsize[0]; $img_height = $imgsize[1]; } $imgsize[0] = $img_width; $imgsize[1] = $img_height; } else { $imgsize[0] = $maxwidth; $imgsize[1] = $maxheight; } return $imgsize; } ?> | cs |
이처럼 좀더 쉽게 가로 새로 사이즈를 정해서 비율에 맞게 가로 새로 사이즈를 조정하여 화면에 출력해줄 수 있게 된다.
'DEVELOPE > PHP' 카테고리의 다른 글
PHP 문자추출 정규표현식 정리 (0) | 2018.02.05 |
---|---|
php url 파싱 스누피 (0) | 2018.01.16 |
PHP mysql_fetch_row, assoc, array 구분 사용법 (1) | 2017.10.23 |
PHP foreach 사용법 (0) | 2017.10.23 |
모바일 과 데스크탑 접속구분 함수처리 (0) | 2017.04.27 |
- Total
- Today
- Yesterday
- APM 설치
- 우분투 usb 설치
- 트위터 url 공유
- 에디트플러스
- CentOS 설치
- mariadb 백업
- 미디어쿼리
- CentOS
- 리눅스 명령어
- SQL 정렬
- mysql 백업
- 트위터 공유방법 및 소스
- 부트스트랩
- Q6600
- 트위터 sns 공유
- MYSQL 명령어
- crontab
- ubuntu
- 트위터 공유소스
- 우분투 다운로드
- 카카오스토리 공유소스
- 카카오스토리 url 공유
- 페이스북 공유소스
- centos 7
- yum
- SQL 함수
- 우분투
- 반응형 웹
- MySQL
- 카카오스토리 sns 공유
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |