web-dev-qa-db-ja.com

ファイルのアップロードを拡張子で制限しますか?

WordPress 3.1で拡張子(画像のみ)とファイルサイズによって許可されたファイルアップロードを制限する方法はありますか?

ボーナス質問:自分がアップロードしたファイルだけを閲覧できるようにユーザーを制限することはできますか?

1
EddyR

特定の種類に限定するためにupload_mimesにフィルタを追加できると思います。フック: http://adambrown.info/p/wp_hooks/hook/upload_mimes

フィルター

add_filter('upload_mimes','restict_mime'); 

function restict_mime($mimes) { 
    $mimes = array( 
                'jpg|jpeg|jpe' => 'image/jpeg', 
                'gif' => 'image/gif', 
                'png' => 'image/png', 
    ); 
    return $mimes;
}

私が理解していることから、これは管理者やunfiltered_upload機能を持つユーザーには機能しません。こちらの記事もご覧ください 画像のアップロードを1つに制限し、オーディオ、ビデオ、その他のドキュメントファイルの種類をアップロードできないようにします

サイズ制限を制御する代わりに、.htaccessまたはphp.iniを使用することもできます。

アップロード制限については、.htaccessに以下のいずれかを設定できます。

LimitRequestBody 1073741824  //( 1MB)
php_value upload_max_filesize 1M
php_value post_max_size 1M

Php.iniにはupload_max_filesize = 1Mを設定できます

6
Wyck