2011-12-15 6 views
3

MIMEタイプ別にファイル(name_of_file。file_extension)を作成する方法は? mimesのリストは動的です。MIMEタイプ別にファイル(name.extension)を作成

例:

MIME     Extension 
application/msword | .doc 
text/plain   | .txt 
text/css   | .css 

私はいけないたい利用アレイ( "MIME" => "拡張")。

私はMIMEタイプを持っていますが、ファイル拡張子が必要です。

+1

あなたは、本質的にある[MIMEタイプツー拡張](http://www.webmaster-toolkit.com/mime-types.shtml)のダンプを求めていますテーブルのリスト? PHPには[finfo_file](http://www.php.net/manual/en/function.finfo-file.php)もあります。 –

+0

mimesとextensionsのリストを作成したくない – Gadonski

+0

'配列(" mime "=>" extension ");'を使用したくありません - ルックアップテーブルを使用する必要があります。ルックアップテーブルのどこかの形式を持っています。 – DaveRandom

答えて

2

ルックアップテーブルを使用しないようにするには(少なくともを定義する必要があります。)、finfo_fileを使用できます。

echo finfo_file('myfile.jpg', finfo_open(FILEINFO_MIME_TYPE)); // output: image/jpg 

あなたは5.0にしている場合は、あなたがmime_content_typeを試してみてください(しかし、これは廃止されて心に留めておくので、アップグレードと互換性を探しているなら、あなたは可能な限り新しいfinfo_fileをデフォルトにしたい場合があります)があり:

echo mime_content_type('myfile.jpg'); // output: image/jpg 

// When possible, it will use upgraded finfo_file, but will default back 
// to content_mime_type when necessary 
function getMimeType($file){ 
    if (function_exists('finfo_file') && defined('FILEINFO_MIME_TYPE')){ 
    $return_mime = finfo_open(FILEINFO_MIME_TYPE); 
    return finfo_file($file, $return_mime); 
    } 
    return content_mime_type($file); 
} 
+0

nice!しかし、私はファイル拡張子が必要です。私はMIMEタイプを持っています。 – Gadonski

+0

@AndréGadonski:次に、何らかの形式のルックアップテーブルが必要になります。 PHPのすべては、ファイルからmimeにルックアップすることです。 –

関連する問題