2017-03-10 5 views
4

파일의 확장자를 확인하고 가져온 Excel 파일을 확인하는 함수를 만들었습니다. 나는 2 개의 다른 PC에 동일한 근원을 달렸다. 구성다른 PC를 사용할 때 MIME 유형이 다른 이유는 무엇입니까?

PC-1 : PHP의 7.0.x와

  • 윈도우 7 64 비트
  • XAMPP
  • 브라우저 구글 크롬
  • 마이크로 소프트 오피스 2013

PC 설치 -2 구성 :

  • 승 10 64 비트의 PHP 7.1.x
  • 브라우저 구글 크롬
  • 오픈 오피스와
  • XAMPP가 설치되어 있어야합니다. Microsoft Office를 설치하지 마십시오.

내 Excel 파일은 Google 스프레드 시트에서 만들어지고 확장명이 .xlsx 인 MS Office 파일로 내보내집니다. 나는 $_FILES['file']['type']; 값을 디버깅 할 때 PC-1에서

내가 확장 얻을 : PC-이 아직

'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' 

를, 내가받은 :

'application/octet-stream' 

내 질문은 왜 동일로 소스, 동일한 가져 오기 파일, 다른 환경, 디버그 출력이 다른 파일 확장명을 표시합니까? MS Office를 설치하는 이유가 무엇입니까?

+0

MIME 형식을보고하는 서버 쪽이므로 클라이언트 측에 설치된 소프트웨어와 관련이 없습니다. – Raptor

+0

영어 실력을 고쳐 주신 Leigh에게 감사드립니다. Raptor : 그렇다면이 상황의 원인은 무엇입니까? – TommyDo

+1

PHP 7.1과 7.0의 차이점이 있습니다. [finfo_file()] (http://php.net/manual/ro/function.finfo-file.php)을 사용하여 MIME 유형을 다시 확인할 수 있습니까? – Raptor

답변

0

Microsoft Office가 PC 2에 설치되어 있지 않기 때문입니다.
Chrome은 해석 방법을 모릅니다.
Octet-stream은 해석 할 마지막 도랑 시도입니다.
post에 대한 자세한 내용은 레지스트리를 조정하여 동일한 결과를 얻을 수있는 방법이 있습니다.