私はUploadifyとKohanaを使用しています。ファイルアップローダを作成しています。ユーザーは少数の種類のファイルしかアップロードできません。MIME、オクテットストリーム、アップロードファイル
Kohanaには、MIMEタイプの素晴らしいライブラリが組み込まれています。アップロードされたファイル(Uploadifyから来たもの)のMIMEタイプが、設定されたファイル拡張子と一致しているかどうかチェックするのはクールだと思いました。だから私は許可されたMIMEタイプの配列を作ったのです。
$mimes = (array) Kohana::config('mimes');
$allowed_mimes = array_merge($mimes['bmp'], $mimes['gif'], $mimes['jpg'], $mimes['jpeg'], $mimes['png']);
次に、私は、アップロードされたファイルのMIMEタイプは$allowed_mimes
配列になっていることを確認したかったです。私はin_array($file['type'], $allowed_mimes)
のようなものを使用しました。私には驚きのため、ファイルの実際のMIMEはapplication/octet-stream
でした。とにかく、アップロードされたファイルはJPEG
でした。これはどのように可能ですか?
基本的な考え方は、ファイルの種類を確認する必要があるということです。それを行う最善の方法は何ですか?
編集:私の同僚といくつかの変換後
、私は最後のドットの後に文字を確認することを決めました。 virus.jpeg
のように、jpeg
という名前が付いています。私はまだ良いソリューションのために開いている!
$extension = ltrim(strrchr($file['name'], '.'), '.')
$ ext = pathinfo($ filename、PATHINFO_EXTENSION); '拡張子を取得する適切な方法でしょうか(私は元の質問を理解できませんか?) – Kemo
質問:ファイルの種類を確認するには? MIMEは大丈夫ですか?私は 'application/octet-stream'と' JPEG'をどうやって入手したのでしょうか?私の解決策(編集を参照)は大丈夫ですか? – daGrevis