PECL 확장자 없이 PHP5에서 로컬 파일의 MIME 유형을 얻으시겠습니까?

StackOverflow https://stackoverflow.com/questions/51110

  •  09-06-2019
  •  | 
  •  

문제

mime_content_type() 더 이상 사용되지 않습니다.

어떻게 찾을 수 있나요? MIME type 다음을 사용하여 로컬 파일의 PHP5 하지만 이 더 이상 사용되지 않는 방법을 사용하지 않거나 PECL fileinfo 확대?

편집하다:그것이 내가 두려워했던 것입니다.불행하게도 그들은 항상 사용할 수 없는 확장 기능을 요구하는 내장 기능을 더 이상 사용하지 않습니다.

도움이 되었습니까?

해결책

fileinfo 확장자를 사용할 수 없고 mime_content_type을 사용하지 않으려는 경우 옵션이 제한됩니다.

파일 확장자를 기반으로 조회를 수행해야 할 가능성이 높습니다.mime_content_type은 좀 더 지능적인 작업을 수행했으며 실제로 MIME 유형을 결정하기 위해 파일에서 특수 데이터를 찾았습니다.

다른 팁

그만큼 getID3() 라이브러리는 대부분의 경우 빠르고 쉽게 사용할 수 있는 옵션입니다.원래 MP3 ID3 데이터를 얻기 위한 프로젝트의 이름을 딴 이 라이브러리는 그보다 훨씬 더 많은 작업을 수행하며 모든 종류의 일반 또는 이상한 파일 메타 데이터 작업에 매우 편리합니다.

저는 온라인 이미지 및 비디오 도구에 대한 MIME 유형의 파일을 가져오는 데 이를 사용했습니다.내가 수행한 모든 테스트에서 getID3가 MIME 유형을 잘못 인식하는 것을 본 적이 없습니다.

또한 QuickTime 비디오에 스트리밍 힌트가 있는지 확인하는 데에도 사용했습니다.나는 이것을 다양성의 예로 언급합니다.

두 번째로 시간이 더 많이 걸리는 옵션은 이미 제안한 대로 자체 MIME 유형 검사기를 롤링하는 것입니다.MIME 매직 파일이 있는 경우 파일 데이터의 처음 n바이트를 MIME 매직 파일에서 파생된 MIME 유형의 첫 번째 n바이트 조회 테이블과 비교하여 파일 확장자 조회보다 조금 더 나아갈 수 있습니다.

일반적인 MIME 매직 파일에는 500개 이상의 MIME 유형 세트가 포함되어 있어 비교 속도가 느려질 수 있습니다(많은 확인 작업).홈 롤링 솔루션에 가장 일반적인 10가지 MIME 유형 검사를 하드 코딩하면 도움이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top