PHP 프로그램에서 mime type을 알아내고자 할 때는 mime_content_type() 함수나 Fileinfo 함수 묶음을 사용할 수 있다. 그런데 기본으로 설치한 Fedora 11에서는 "Fatal error: Call to undefined function mime_content_type()"로 mime_content_type을 사용할 수 없었고, Fileinfo도 php 5.3 이상에서만 지원한다.
이를 해결하기 위해 Linux 명령어 file의 출력결과를 잡아채서 간단하게 마임타입을 알아낼 수 있다.
$mimetype = trim( `file -bi "$filename"` );
위의 결과로 얻어지는 $mimetype의 예로는 다음과 같은 것들이 있다.
text/x-php; charset=utf-8
image/gif; charset=binary
image/jpeg; charset=binary
image/x-ico; charset=binary
image/x-ms-bmp; charset=binary
application/vnd.ms-office; charset=binary
application/pdf; charset=binary
CDF V2 Document, corrupt: Cannot read summary info; charset=binary
application/msword; charset=binary
image/png; charset=binary
text/plain; charset=iso-8859-1
application/vnd.ms-excel; charset=binary
...
메모智에서는 첨부파일이 이미지(image/...)인 경우에 대해서 html 페이지내에서 바로 뿌릴 수 있도록 처리할 때 이 마임 타입을 활용하였다. |