2013-02-05 3 views
6

J'écris un test d'unité pour une classe et j'ai besoin de générer quelques fichiers avec différents types mime.Comment définir un type mime sur un fichier avec php?

Je sais comment définir le type mime lors de l'envoi d'un fichier à un utilisateur distant (ala header()), mais comment le faire lorsque vous utilisez fwrite() sur le serveur local?

Pour un fichier généré dans cette méthode, le type mime est-il dérivé directement de l'extension du fichier?

J'utilise 5.3.x PHP sur Ubuntu 12.04

Répondre

6

fichiers n'ont pas les types MIME. Ils sont identifiés par leurs extensions de fichiers. Les types MIME sont généralement définis par extensions de fichier dans /etc/mime.types. Tout le type mime est de dire au client quel programme utiliser pour ouvrir le fichier.

3

mime-type est généralement logique pour les navigateurs Web et les clients de messagerie uniquement pas pour vos fichiers physiques. Créez simplement vos fichiers avec les extensions correctes et Ubuntu File Manager l'interprétera en conséquence.

1

Le type mime appartient à la requête HTTP de votre serveur ou navigateur. Si vous utilisez Apache, vous pouvez définir des types mime par défaut pour vos fichiers multimédia dans le fichier .htaccess. Ensuite, vous pouvez essayer de se moquer de la demande en renvoyant vos fichiers avec CURL ou fsockopen et regarder dans l'en-tête si le type mime était correct ... juste au cas où vous voulez vous assurer dans votre test unitaire, que les types mime fonctionnent correctement.