ある拡張子のファイルをWordpressにアップロードしたかった
管理ページのメディアページから、ファイルをアップロードしようとしたら、
「セキュリティ上の理由によりこのファイル形式は許可されていません。」
というエラーメッセージが出てアップロードできませんでした。
WordPressはセキュリティ上、アップロードできるファイル拡張子が決められています。
[sbh_recmd id=285 length=114]
では、どうするかというと、アップロードしたファイル拡張子とMIMEタイプをテーマのfunctions.phpに追記してやります。
[adsense]
登録に必要な情報は
ファイル拡張子の文字列と、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にアップロードできるようになりました。
コメント