左坊のメモ帳

WordPress など

*

WordPressに許可されていないファイルをアップロードできるようにする方法

   

ある拡張子のファイルをWordpressにアップロードしたかった

管理ページのメディアページから、ファイルをアップロードしようとしたら、

「セキュリティ上の理由によりこのファイル形式は許可されていません。」

というエラーメッセージが出てアップロードできませんでした。

WordPressはセキュリティ上、アップロードできるファイル拡張子が決められています。

では、どうするかというと、アップロードしたファイル拡張子とMIMEタイプをテーマのfunctions.phpに追記してやります。

スポンサーリンク

登録に必要な情報は

ファイル拡張子の文字列と、MIMEタイプです。

ファイルの拡張子は、例えばPDFファイルであれば「pdf」です。(ドットは無し)
MIMEタイプはというと、PDFであれば「application/pdf」です。

ただ、MIMEタイプってどうやってわかるかというと、

>>http://www.geocities.co.jp/Hollywood/9752/mime.html

このような一覧ページで探してみたり、

>>http://kimurashuuichi.com/perl/programmingsupport/contenttype.html

このサイトにある「ContentTypeChecker」というページで確認できたりします。

ハマりかけた

拡張子はファイル名を見たままなのでよかったのですが、MIMEタイプがなぞだったので「ContentTypeChecker」で調べてみたところ、

「application/octet-stream」

と出ました。

これは便利だと思いながらテーマファイルのfunctions.phpに

//pde
function allow_upload_pde( $mimes ) {
    $mimes['pde'] = 'application/octet-stream';
    return $mimes;
}
add_filter( 'upload_mimes', 'allow_upload_pde' );

と書いて、再度目的のファイルをアップロードしたところ、

「セキュリティ上の理由によりこのファイル形式は許可されていません。」

こうやって解決

一瞬、「管理ページからのアップロードだからテーマファイルのfunctions.phpではだめなのかな!?」と思ったのですが。

気を取り直して、もう少しネットで調べてみたところ、

>>https://yuzuemon.hatenablog.com/entry/2014/09/24/025159

サーバー上でfileコマンド叩いてMIMEtypeを確認せよ、と。

[MyServer]$ file --mime-type hoge.pde
hoge.pde: text/plain

はい、「text/plain」でした。

こうして、processingのpdeファイルを無事Wordpressにアップロードできるようになりました。

 - WordPress