it-swarm.com.de

Verhindern Sie das Hochladen großer Bilder

Ich möchte verhindern, dass Benutzer in meinem Blog große Bilder hochladen. Und ich meine groß in px Größe nicht MB. Der maximale Upload ist auf 8 MB eingestellt, was in Ordnung sein sollte, aber ich möchte das Hochladen von Bildern, die größer als 3000 x 3000 Pixel sind, nicht verhindern.

Fehlt mir ein Haken, für den ich eine Funktion schreiben könnte, um den Benutzern mitzuteilen, dass ihr Bild zu groß ist?

4
spankmaster79

Hier stehen Ihnen verschiedene Lösungen zur Verfügung:

Automatisch verkleinern

Wenn Sie keine großen Mengen an Bilddaten auf Ihrem Webspace speichern möchten, würde ich das Plugin Imsanity empfehlen. Dadurch werden die hochgeladenen Bilder automatisch verkleinert, auch wenn sie zu groß sind.

Verbieten Sie große Uploads

In diesem Fall hat der Benutzer mehr zu tun, da er die Bilder selbstständig verkleinern muss. Sie können den wp_handle_upload_prefilter filtern:

add_filter('wp_handle_upload_prefilter', 'f711_image_size_prevent');
function f711_image_size_prevent($file) {
    $size = $file['size'];
    $size = $size / 1024; // Calculate down to KB
    $type = $file['type'];
    $is_image = strpos($type, 'image');
    $limit = 5000; // Your Filesize in KB

    if ( ( $size > $limit ) && ($is_image !== false) ) {
        $file['error'] = 'Image files must be smaller than '.$limit.'KB';
    }

    return $file;

}

Ändern Sie die PHP Werte

Dieser ist ziemlich einfach, Sie müssen nur max_upload_size in Ihrem .htaccess oder php.ini einstellen.

9
fischi