일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- centos
- KB증권
- 리눅스
- 소비전력
- nginx
- php
- mysql
- SKT
- 티스토리
- 복현오거리
- iptime
- 보르비스초월
- 시놀로지
- 아파치
- 가상서버호스팅
- Apache
- proxmox
- OpenWrt
- 스톤에이지
- KB국민카드
- 알뜰폰
- 윈도우10
- 램가스초월
- 자바스크립트
- 알리익스프레스
- ConoHa
- Rocky
- jQuery
- PHP-FPM
- 킹북이초월
- Today
- Total
맛집 여행 캠핑 일상 생활
크롬브라우저 Content-Disposition: inline bmp 이미지 문제 본문
크롬브라우저 Content-Disposition: inline bmp 이미지 문제
PHP 에서 서버의 이미지 파일을 브라우저에 바로 보여주는 소스인데,
문제는 BMP 이미지가 브라우저에 바로 보여지지 않고 다운로드가 되는 문제점이 있다.
function image_view($img_path) {
$IMAGE_PATH = $img_path;
$IMAGE_SIZE = getimagesize($IMAGE_PATH);
$fp = fopen($IMAGE_PATH,"rb");
if($fp) {
$FILENAME = 'download.'.strtolower(substr($IMAGE_PATH,strlen($IMAGE_PATH)-3,3));
header("Content-Type: ".$IMAGE_SIZE['mime']);
header("Content-Disposition: inline; filename=$FILENAME");
header("Content-Length: ".filesize($IMAGE_PATH));
fpassthru($fp);
}
fclose($fp);
}
$IMAGE_SIZE['mime'] 의 값을 찍어보면 "image/x-ms-bmp" 라고 나온다.
이 값을 "image/bmp" 로 바꿔주면 브라우저에서 바로 보여진다.
if($IMAGE_SIZE[2] == 6) { // bmp
header("Content-Type: image/bmp");
}
else {
header("Content-Type: ".$IMAGE_SIZE['mime']);
}
위와 같이 수정해주면 해결이 된다.
'LAMP' 카테고리의 다른 글
PHP 한글파일(hwp) 다운로드시 브라우저에서 열리는 문제 (0) | 2016.10.20 |
---|---|
PHP fread vs readfile vs fpassthru 속도 비교 (0) | 2016.09.07 |
PHP 실행시간 체크 방법 (0) | 2016.09.05 |
PHP 이미지 다운로드 또는 바로보기 (0) | 2016.09.02 |
PHP 이미지 주소 노출없이 브라우저에 표시 (0) | 2016.09.02 |