2013-04-11 2 views
3

어플 리케이션을위한 많은 이미지 파일을 검증해야하는데, 상황에 따라 100,000 개의 파일과 같은 약 10,000 개의 이미지가있는 10 개의 디렉토리가 있습니다. 그 파일은 gif 파일로되어 있지만 많은 파일들이 jpg 파일로되어있어서 디자이너가 파일 형식을 변환하지 않고 .jpg에서 .gif로 변경합니다. 이것은 응용 프로그램 충돌을 일으키는 것입니다, 그 이미지를 사용하여 PDF 파일을 만들고, somefile.gif 파일을 사용하는 programm에게 말하면, 실제로는 pdf 크리에이터의 이름이 변경된 확장자가있는 jpg입니다. irfanview 나 포토샵과 같은 형식으로 모든 파일을 열어 형식을 확인한 다음 필요할 경우 수정할 수 있습니다. 거기에 라이브러리, 클래스, 플러그인 또는 PHP 나 다른 언어로 내게 확장자가 아니라 파일의 헤더에있는 파일의 형식을 알려주는 뭔가가 있나요?php로 이미지 형식을 확인하는 방법

내가 할 수있는 아이디어가 없으므로 도움이 될만한 사람이 있습니까?

Thanxs 많이 미리 !!!

+0

는 http://stackoverflow.com/questions/134833/how-do-i-find-the-mime-type-of-a-file-with-php#134893 – jszobody

답변

5

개인적으로 확장 또는 MIME 유형을 확인하는 대신 실제 확인을 위해 exif_imagetype을 사용합니다.

+0

'exif_imagetype'가 아닌 참조 * true * 확인을 위해. 그것은'getimagesize' (그러나 꽤 동일한 리그)보다 덜 집중적입니다. –

+1

@ M8R-1jmw5r :'exif_imagetype()'는 이미지의 첫 번째 바이트를 읽고 그 서명을 검사합니다. 그런 다음 PHP 네이티브 함수를 사용하면 가장 좋습니다. –

+0

아마도 gif와 jpeg를 구분하려면 예. 당신이 또한 색 깊이 등등을 필요로하는 경우에, 도움이되지 않는다. 예 : PDF 생성자가 CMYK jpegs와 충돌 할 수 있습니다.) 또한 gdlib가 비활성화 된 경우에도'getimagesize()'를 사용할 수 있습니다. –

2

gif 또는 jpeg 사이를 알아야 할 경우 함수를 사용하면됩니다. http://php.net/getimagesize을 참조하십시오.

list(,,$imageType) = getimagesize($path); 
if ($imageType === IMAGETYPE_GIF) { 
    // GIF found 
} 
관련 문제