2015-09-28 14 views
5

Durante il controllo i tipi di file MIME dei file che vengono caricati sul browser bordo di Microsoft 10, ottengo questo tipo MIME per .doc file:Come Microsoft 10 del browser Bordo tipi mime php

application/octet-stream 

A quanto pare questo indica "dati binari arbitrari ": Do I need Content-Type: application/octet-stream for file download?

su altri browser che ricevo application/msword

c'è un nuovo modo tipi MIME vengono gestiti per i file .doc per il browser bordo, e forse altri tipi MIME ho bisogno di essere a conoscenza?

Aggiornamento:

stavo afferrando il tipo MIME utilizzando PHP $_FILES['uploadName']['type']

+0

odori come un insetto - come su segnalazione esso –

+2

Si consiglia di non afferrare il tipo MIME dai dati riportati nella '$ _FILE' come questo è estremamente friabile e per l'interpretazione, in quanto si sta verificando. Invece, fai una nuova analisi del file ** ** caricato temporaneamente, usa 'finfo()' o simile. – Martin

risposta

4

ho scoperto che utilizzando questo invece, ottengo il tipo MIME corretto:

$finfo = new finfo(FILEINFO_MIME_TYPE); 
$mimeType = $finfo->file($_FILES['uploadName']['tmp_name'][$key]); 

E come Martin menzionato in un commento sopra:

Non dovresti prendere il tipo MIME dai dati dati in $ _FILE come questo è estremamente friabile e pronto per l'interpretazione, dato che stai sperimentando . Effettua invece una nuova analisi del file temporaneo caricato , utilizza finfo() o simile.

+0

Avrei dovuto leggere la tua risposta prima del mio commento sopra, oh beh .... Sono contento che tu abbia trovato il modo più affidabile di farlo – Martin

+0

Sì, grazie è un buon commento e vale la pena vedere se vengono mai qui, aggiungerò al mio risposta. – Andrew