mime_content_type() を実行すると「Fatal error: Uncaught Error: Call to undefined function mime_content_type() in ~」が発生する
2017/8/2
文書番号:20754
php でアップロードされたファイルのMIMEタイプを取得しようと mime_content_type() を実行したところ、以下のエラーが発生しました。
==================================================================
Fatal error: Uncaught Error: Call to undefined function mime_content_type() in ...
==================================================================
php のマニュアルを参照したところ、以下のような記述がありました。
警告 Mimetype 拡張モジュールは PHP 5.3.0 で削除されました。後継は Fileinfo です。
PHP マニュアル
Mimetype
ということで、このページに記載されている通り、mime_content_type() は PHP 5.3.0 で削除されたようです。
後継の機能として「FileInfo」を使うといいようです。
PHP マニュアル FileInfo
サンプル
//MIMEタイプを取得
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $_FILES['upfile']['tmp_name']);
finfo_close($finfo);
echo $mime_type;
サンプル(PHP 5.3以降の場合はこちらも可)
//MIMEタイプを取得
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime_type = $finfo->file($_FILES['upfile']['tmp_name']);
echo $mime_type;
fileinfo を使用して「Fatal error: Uncaught Error: Class 'finfo' not found in ~」エラーが発生する場合は次のページをご参照ください。
「Fatal error: Uncaught Error: Class 'finfo' not found in ~」エラーの対処方法