こんにちは
WordPressでの拡張子とmimetypeの登録は実施された作業で合っているものと思います。
しかし、phpにもその拡張子とmimetypeを認識させる必要があります。
WordPressが認識しているmimetypeとphpが認識しているminetypeが異なると、発生しているようなエラーになります。
xdw
は一般的な拡張子ではないため、phpは何らかのデフォルトのmimetypeと認識しており、application/xdw
とは認識していないと思います。
phpにxdw
をapplication/xdw
と認識させる方法ですが、私はその点については詳しくありません。
Apacheでmod_mimeモジュールが有効で、.htaccessでの変更が許可されていれば、AddTypeディレクティブでmimetypeを追加すれば、phpでも認識されるようになるかもしれません。
https://httpd.apache.org/docs/2.4/ja/mod/mod_mime.html#addtype
しかし、ロリポップサーバーでそれが許可されているか私には分かりませんし、この方法でのmimetypeの追加がphpにも反映されるのかも分かりません。
すいません。
こんにちは
アップロードできる MIME タイプと拡張子を upload_mimes フィルタフックで追加できそうです。
詳細は下記ページをご覧ください。サンプルコードが参考になると思います。
https://codex.wordpress.org/Plugin_API/Filter_Reference/upload_mimes
皆様ありがとうございます。
残念ながら、おふたりから教えていただいた方法を試してみましたが変わらずでした。
@munyaguさんの件は.htaccessで設定できないかもとの指摘もあったので、XAMPPで同様の環境を作り、php.iniやApacheのconfig.conf経由でxdwを追加しても、症状は変わらず「セキュリティ上の理由によりこのファイル形式は許可されていません。」が出ました。
アップロード自体はどうもされるみたいなのですが、メディアに登録する瞬間に消されてしますような感じで、アップロード終了後、一瞬メディアにアイコンが表示されるのですが、瞬時に削除されるのか消えてしまい「セキュリティ上の理由によりこのファイル形式は許可されていません。」と表示されるので、もしかしたら、アップロード完了時に未知のファイルがアップされたという判断の元「消されてしまうのでは?」とも考えてみたりしています。
@ishitakaさんから教えていただいたURLから下記の通りコードを追記してみました。
しかしながら現状も変わらずでした。
function my_custom_mime_types( $mimes ) {
// New allowed mime types.
$mimes['xdw'] = 'application/xdw';
return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types' );
@heysister721 さん、functions.php へ追記したそのコードが実行されていないのかもしれませんね。試したところXDWファイルをアップロードできましたよ。プラグイン WP Add Mime Types でも同じことが行えるみたいです。
@gblsmさん、コードの追記の件は相変わらずでした。
しかしながら、教えていただきました「WP Add Mime Types」で難なく解決できました。
ありがとうございました。