"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 확장자에 의존하지 않고 파일 형식을 결정하는 방법은 무엇입니까?

확장자에 의존하지 않고 파일 형식을 결정하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:560

How to Determine File Type Without Relying on Extensions?

확장자에 의존하지 않고 파일 형식을 감지하는 방법

확장자를 검사하는 것 이상으로 파일이 mp3인지 이미지 형식인지 확인하는 것은 매우 중요합니다. 프로그래밍 작업. 다음은 확장에 의존하지 않는 포괄적인 솔루션입니다:

PHP >= 5.3:

$mimetype = finfo_fopen(fopen($filename, 'r'), FILEINFO_MIME_TYPE);

PHP

$mimetype = mime_content_type($filename);

대안 :

  • exif_imagetype: 이미지 MIME 유형을 구체적으로 확인합니다.
  • getimagesize: EXIF_imagetype과 유사하지만 라이브러리 종속성이 있을 수 있습니다. 문제.

프록시 메서드:

보다 일반화된 접근 방식을 위해 다음 함수를 프록시 메서드로 래핑하는 것을 고려하세요.

function getMimeType($filename)
{
    $mimetype = false;
    if (function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif (function_exists('getimagesize')) {
        // open with GD
    } elseif (function_exists('exif_imagetype')) {
        // open with EXIF
    } elseif (function_exists('mime_content_type')) {
        $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

이 프록시 방법을 사용하면 시스템의 다양한 기능 가용성에 따라 파일의 MIME 유형을 쉽게 결정할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3