금일 작업중 Fatal error: Call to undefined function mime_content_type() in ~ 라는 오류가 발생하였습니다.
현재 작업 환경은 윈도우, XAMPP를 사용하고 있는데요.
파일 첨부와 관련한 작업을 하던중 파일의 정보를 확인하려던 차에 상기 오류가 발생한 것입니다
위 오류의 해결방법은 의외로 간단합니다.
php.ini파일의 extension=~ 이라는 부분을 수정/추가하면 됩니다.
그러나 동작하는 플랫폼에 따라 조금 다릅니다.
1. window
extension=php_fileinfo.dll 을 추가합니다.
참고로 제가 사용하고 있는 XAMPP에서는 저부분이 주석처리되어 있어서
주석을 해제만 하였습니다.
2. Linux등
extension=fileinfo.so 를 추가합니다.
php.ini을 수정하였기 때문에 물론 Apache를 재실행하여야 합니다.
그리고 mime_content_type는 deprecated 되었습니다. ㅡㅡ;
함수의 상세 설명페이지 의 일부분인데요 deprecated되었다고 나오며
Fileinfo function들을 이용하라고 합니다.
물론 fileinfo function들도 위에서 언급했던 php_fileinfo.dll 이나 fileinfo.so가 php.ini에 추가되어 있어야 합니다.
fileinfo 관련 함수를 사용한 예입니다.
(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)
//파일을 저장 $file_name = $_FILES['strFile']['name']; if(!move_uploaded_file($_FILES['strFile']['tmp_name'], "./data/files/".$file_name)){ echo"파일을 복사하는데 실패 했습니다."; exit; } $finfo = finfo_open(FILEINFO_MIME_TYPE); if (!$finfo) { echo "fileinfo database failed"; exit; } $filename = "./data/files/".$file_name; echo finfo_file($finfo, $filename); finfo_close($finfo);
'PHP' 카테고리의 다른 글
스팸글 자동등록 방지 오픈소스 - Securimage,captcha (0) | 2015.03.30 |
---|---|
CASTLE(캐슬)을 아시나요? (0) | 2015.03.20 |
PHP에서 모바일 접속 여부를 확인하는 오픈소스 (0) | 2015.02.25 |
[PHP] 대용량 텍스트 파일 자르기 (0) | 2015.02.12 |
[PHP] 배열 중간에 추가하기 (0) | 2015.02.05 |