2013-02-05 16 views
6

Sto scrivendo un Test unitario per una classe e ho bisogno di generare alcuni file con diversi tipi di mime.Come impostare un tipo mime su un file con php?

So come impostare il tipo mime quando si invia un file a un utente remoto (ala header()), ma come farlo quando si utilizza fwrite() sul server locale?

Per un file generato in questo metodo è il tipo mime derivato direttamente dall'estensione del file?

Sto utilizzando PHP 5.3.x su Ubuntu 12.04

risposta

6

file non hanno tipi MIME. Sono identificati dalle loro estensioni di file. I tipi mime sono solitamente impostati per estensione file in /etc/mime.types. Tutto quello che fa il mime è dire al client quale programma usare per aprire il file.

3

mime-type di solito ha senso solo per i browser Web e i client di posta elettronica NON per i file fisici. Basta creare i file con estensioni corrette e Ubuntu File Manager lo interpreterà di conseguenza.

1

Il tipo mime appartiene alla richiesta HTTP eseguita dal server o dal browser. Se stai usando Apache, puoi impostare i tipi mime predefiniti per i tuoi file multimediali nel file .htaccess. Quindi puoi provare a prendere in giro la richiesta restituire i tuoi file con CURL o fsockopen e cercare nell'intestazione se il tipo mime fosse corretto ... nel caso in cui vuoi assicurarti nel tuo test dell'unità, quel tipo di mime funziona correttamente.

Problemi correlati