나는 궁극적으로 파일을 직접 다운로드하기보다는 다운로드하라는 의미로 브라우저를 강제 실행하는 스크립트를 만들고 싶습니다. DB 엔트리를 기반으로하고 싶습니다. 그래서 약간의 난독 화가 있습니다. 더. 내 문제는 내가 마임 유형이나 2를 찾을 수 밖에 없지만 나는 공평한 주식 가치를 원한다. doc에서 pdf, avi로 mp3에. 내 스크립트는 파일의 확장자를 기반으로 실행 한 다음 적절한 헤더를 출력하기 만하면 어떤 파일 유형으로 출력할지 알 필요가 있습니다. 기본적으로 브라우저에서 스트리밍하거나 열 수있는 파일 유형 목록이 있습니까?MIME 유형/헤더의 전체 목록이 있습니까?
답변
파일 확장자가 파일 형식을 결정하는 가장 신뢰할 수있는 방법은 아닙니다. 일부 MIME 추측에 관심이있을 수 있습니다. 당신이 응용 프로그램 리눅스에서 호스팅되는 경우 -i
옵션을 file 명령 줄 도구 혜택을 누릴 수 있습니다 :
// Use escapeshellarg() to inject arbitrary file paths
$content_type = `file -i /path/to/file`;
그렇지 않으면, PHP는 PECL 확장 Fileinfo라고 있습니다.
파일 확장자를 사용하려면 media types are approved by the IANA을 사용하십시오.
업데이트 : Fileinfo는 PHP/5.3.0부터 기본 확장이므로 타사 응용 프로그램을 설치할 필요가 없습니다. 사용 예 :
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, '/path/to/file');
finfo_close($finfo);
최근에이 Multipart Internet Mail Extensions (MIME) 목록을 사용했기 때문에 도움이되었습니다.
의견이 너무 깁니다. 그래서 나는 그것을 답으로 썼다.
테스트 MIME 유형 지원
방화범은 아파치가 다른 이미지와 영화 형식에 대해 반환 무엇 헤더 확인하는 데 사용할 수 있습니다. 이렇게하려면 원하는 파일을 HTML로로드하면됩니다. Firebug를 열고 "Net"-> "Headers"-> "Response Headers"로 이동하십시오. 콘텐츠 유형이 표시되어야합니다. 아파치가 이미지/영화를 인식하지 못하면 "text/plain"으로 반환됩니다. 아파치가 리소스를 인식하면 올바른 MIME 형식을 참조하십시오. "video/webm". 요청 상태 옆에 "304 Not Modified"가 표시되면 리소스가 캐시에서 가져온 이고 HTTP 헤더가 Apache 구성에 대한 변경 사항을 반영하지 않을 수 있습니다. " + F5"를 사용하여 Firefox가 모든 캐시 된 항목을 다시 가져 오도록 할 수 있습니다.
위의 힌트에서 서버 응답을 구문 분석하여 웹 서버의 콘텐츠 유형 응답을 테스트 할 수 있습니다. text/plain
이 반환되면 MIME이 지원되지 않음을 의미합니다.
- 1. 내 목록이 반복되어 전체 목록이 결합되도록합니다.
- 2. 전체 목록이 Ajax.autocompleter 함수로 채워짐
- 3. Entity Framework : 지원되는 IQueryable 확장 메서드의 전체 목록이 있습니까?
- 4. Facebook 검색 API에서 지원하는 매개 변수의 전체 목록이 있습니까?
- 5. struct에 연결된 목록이 있습니까?
- 6. 클래스 내부에 목록이 있습니까?
- 7. 파이썬에는 불변의 목록이 있습니까?
- 8. 안드로이드에 큰 목록이 있습니까?
- 9. MIME 엔터티의 일반 MIME 유형?
- 10. Django 'objects.filter()'에 목록이 있습니까?
- 11. 알려진 웹 크롤러 목록이 있습니까?
- 12. Xcode에서 지원되는 pragma 목록이 있습니까?
- 13. AJAX JSF 라이브러리 목록이 있습니까?
- 14. cakephp 드롭 다운 목록이 있습니까?
- 15. javascript에 연산자와 같은 목록이 있습니까?
- 16. Facebook deveploment 이메일 목록이 있습니까
- 17. Java JDK에 동시 목록이 있습니까?
- 18. mime-type의 전체 목록 <-> 파일 확장자 매핑
- 19. C# MIME 메시지를 만드시겠습니까?
- 20. 자바 스크립트/jQuery - 전체 목록에 배열 목록이 없습니다.
- 21. ListActivity 목록이 전체 화면에서 제대로 새로 고쳐지지 않습니까?
- 22. GWT에서 위젯의 MIME 유형을 설정하는 방법이 있습니까
- 23. PowerShell : 파일의 MIME 형식을 결정할 수 있습니까?
- 24. Java에서 MIME 형식의 열거 형은 있습니까?
- 25. UNKNOWN_PARAMETER_VALUE의 이메일에 바이러스가 있습니까? 아니면 MIME 문제입니까?
- 26. .NET에서 IIS MIME 형식을 설정할 수 있습니까?
- 27. iPhone : iPhone 다운로드를위한 특별한 MIME 유형이 있습니까?
- 28. Varbinary Column의 전체 텍스트 검색 - 파일 확장자가 아닌 MIME 유형을 내 Type Column으로 사용할 수 있습니까?
- 29. 항목의 목록이 포함 된 항목의 목록이
- 30. 사용중인 모든 알려진 대상 쌍둥이 목록이 있습니까?
.NET 프레임 워크 대안이 있습니다. http://stackoverflow.com/questions/3937958/how-can-i-query-iis-for-mime-type-mappings (여전히 PHP + Apache 솔루션을 찾고 있습니다) – Raptor
안타깝게도 .NET을 통한 솔루션에 대한 제안은 PHP로 개발 된 앱에 감사드립니다. 그러나 비슷한 전화 번호를 사용하는 .NET 사이트에서 작업 할 때는이 점을 염두에 두지 않으면 안됩니다. – chris