web-dev-qa-db-ja.com

Excelファイルのアップロードを有効にするにはどうすればよいですか?

WordpressページにExcelファイルをアップロードしたい古い学校のユーザーがいます。

基本的に、Wordpressはこれを許可しません。

https://Gist.github.com/robwent/e3bf00bafe7a00bc3d0c4dceabde4fca

最後の「Includes」の前に、functions.phpに以下を追加します。

function my_custom_mime_types( $mimes ) {

    // New allowed mime types.
    $mimes['xls'] = 'application/vnd.ms-Excel';

    return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types', 9999 );

しかし、.xlsファイルをアップロードすると、セキュリティのためにこれが許可されていない(私の母国語から再翻訳された)エラーメッセージが表示されます。

これは正しい方向への試みでしたか?この作業を行うにはどうすればよいですか?

1
Gergely

適切なフィルターは mime_types found here になると思います。

function wpse294198_mime_types( $mimes ) {
    $mimes['xls|xlsx'] = 'application/vnd.ms-Excel';
    return $mimes;
}
add_filter( 'mime_types', 'wpse294198_mime_types' );

コマンドラインツールfile(linux | macOS)を使用して、MIMEタイプを確認できます。 file --mime-type -b somefile.xls

4
sandrodz

上記の解決策を試しましたが、最終的にはうまくいきませんでした

Wp-config.phpですべてのMIMEタイプを許可しました

define( 'ALLOW_UNFILTERED_UPLOADS', true );

ファイルの送信時にカスタム制限を作成できます。 $_FILES配列を使用し、アップロードの前にファイルとタイプの拡張子に制限を加えます。

0
Sayed Mohd Ali