Impose a Maximum Limit on Image height and width upload size

Basically you just retrieve the info via getimagesize(), a basic PHP function, a then handle your errors with notes.

The plugin

A basic plugin as a starting point:

<?php
/** Plugin Name: (#67107) »kaiser« Restrict file upload via image dimensions */

function wpse67107_restrict_upload( $file )
{
    $file_data = getimagesize( $file );
    // Handle cases where we can't get any info:
    if ( ! $file_data )
        return $file;

    list( $width, $height, $type, $hwstring, $mime, $rgb_r_cmyk, $bit ) = $file_data;

    // Add conditions when to abort
    if ( 3200728 < $width * $height )
    {
        // I added 100k as sometimes, there are more rows/columns 
        // than visible pixels, depending on the format
        $file['error'] = 'This image is too large, resize it prior to uploading, ideally below 3.2MP or 2048x1536 px.';
    }

    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'wpse67107_restrict_upload' );

Leave a Comment