だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

Fileinfoとmagic.mime

MIME Content-typeを判別しようと思い、mime_content_typeという関数を発見。しかしながら非推奨。PECLのFileinfoを使えとのこと。

早速php.iniを書き換え、Fileinfoを組み込んでみた。Windowsなので、別途magic.mimeというファイルも必要になり、Debian GNU/Linuxのfileパッケージから拝借。

…finfo_open()の時点でエラーが出て判別どころじゃないYO!

まず、magic.mimeへのパスは「.mime」を含まないようにしなければならないようだ。意味がわからん。とりあえず警告は出なくなった。



が、やはりfinfo_open()がFALSEで進めない。
magic.mimeがテキストじゃなくて、コンパイルしたやつが必要なのかな?と思ってmagic.mime.mgcに入れ替えたりしてもダメ。

バグトラックに似たような問題があったので、ひたすら読む。
すると「4つのファイルを入れたら動いたよ」みたいな書き込みがあった。もう一度、fileパッケージからそれらしきファイル4つを拝借。
動いた!

最終的に、magicファイルとmagic.mimeファイルの2つで動くことを確認。なんなんだ一体。