Created
February 26, 2013 10:39
-
-
Save franz-josef-kaiser/5037559 to your computer and use it in GitHub Desktop.
Restrict the maximum file size as well as the maximum allowed resolution for images uploaded to WordPress.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Plugin Name: (#67107) »kaiser« Restrict file upload via image dimensions | |
*/ | |
function wpse67107_restrict_upload( $file ) | |
{ | |
$file_data = getimagesize( $file ); | |
// Abort when we can't get any info: | |
if ( ! $file_data ) | |
return $file; | |
// Abort when we ain't got an image: | |
$file_type = array_shift( explode( '/', $file['type'] ) ); | |
if ( 'image' != $file_type ) | |
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' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment