PHP에서 파일 MIME 유형을 감지하는 가장 좋은 방법 (PHP 5.2에서 설치 가능하며 아직 개발 중)을 찾고 있습니다.PHP에서 MIME 유형 감지하기
나는 mime_content_type()
메서드와 Fileinfo 확장을 알고 있지만, mime_content_type()
은 신뢰할 수없고 더 이상 사용되지 않으며 Fileinfo는 "표준"PHP (5.2) 설치에 포함되어 있지 않습니다.
다른 옵션이 있습니까?
PHP에서 파일 MIME 유형을 감지하는 가장 좋은 방법 (PHP 5.2에서 설치 가능하며 아직 개발 중)을 찾고 있습니다.PHP에서 MIME 유형 감지하기
나는 mime_content_type()
메서드와 Fileinfo 확장을 알고 있지만, mime_content_type()
은 신뢰할 수없고 더 이상 사용되지 않으며 Fileinfo는 "표준"PHP (5.2) 설치에 포함되어 있지 않습니다.
다른 옵션이 있습니까?
이 PEAR 패키지를 살펴 보셨습니까?
당신은 당신이 실행중인 웹 서버에 subrequest을 할 수있는 다음 마임 그런 식으로 입력 얻을 수있는 헤더를 구문 분석합니다. 느리기 때문에 curl을 사용하여 전체 요청이 아닌 헤더 만 가져옵니다. 대용량 파일을 볼 때 중요합니다.
Apache를 실행하고 php를 모듈로 사용하는 경우 VIRTUAL 기능을 살펴보십시오. 곱슬 곱슬을 사용하는 것보다 하위 요청을하는 것이 더 빠릅니다.
그렇지 않으면 MIME 유형을 확장명으로 조회 할 수 있습니다. 이렇게하면 잘 명명 된 모든 파일이 작동합니다.
(LOL 죄송합니다 나는이 질문을 받았다 개월 전 내가 마무리되면서 깨달았다. 아, 물론.뿐만 아니라이를 추가 할 수 있습니다 ...)
을 당신이 파일 명령을 사용할 수있는 유닉스 계열의 서버가 있다면.
file -bi <filepath>
PHP에서 "exec"를 사용해야합니다. 나는 ... PHP 새로운 그래서이 날을 인용하지 않지만 해요
$content_type = exec("file -bi " . escapeshellarg($filepath));
당신이 경로 문자열을 탈출하고 출력을 포맷해야 할 수도 있습니다, 그래서 내가 그것을 테스트하지 않았다.
다른 방법보다 더 신뢰할 수 있다면 Dunno.
감사합니다. 이상적인 것은 아닙니다. 실제로 언급 한 두 가지 방법, 즉 모든 시스템 (예 : Windows)에서 작동하지 않는 또 다른 방법을 사용하려고 시도한 다음 확장자에 따라 탐지로 넘어가지만 내 최상의 옵션처럼 보입니다. 당분간. –