基本上你只需通过getimagesize()
, 一个基本的PHP函数,然后用notes处理错误。
该插件是一个基本插件,作为起点:
<?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\' );