WP_REST_Attachments_Controller::check_upload_size()
Determine if uploaded file exceeds space quota on multisite.
Replicates check_upload_size().
Method of the class: WP_REST_Attachments_Controller{}
No Hooks.
Return
true|WP_Error
. True if can upload, error for errors.
Usage
// protected - for code of main (parent) or child class $result = $this->check_upload_size( $file );
- $file(array) (required)
- $_FILES array for a given file.
Changelog
Since 4.9.8 | Introduced. |
WP_REST_Attachments_Controller::check_upload_size() WP REST Attachments Controller::check upload size code WP 6.6.2
protected function check_upload_size( $file ) { if ( ! is_multisite() ) { return true; } if ( get_site_option( 'upload_space_check_disabled' ) ) { return true; } $space_left = get_upload_space_available(); $file_size = filesize( $file['tmp_name'] ); if ( $space_left < $file_size ) { return new WP_Error( 'rest_upload_limited_space', /* translators: %s: Required disk space in kilobytes. */ sprintf( __( 'Not enough space to upload. %s KB needed.' ), number_format( ( $file_size - $space_left ) / KB_IN_BYTES ) ), array( 'status' => 400 ) ); } if ( $file_size > ( KB_IN_BYTES * get_site_option( 'fileupload_maxk', 1500 ) ) ) { return new WP_Error( 'rest_upload_file_too_big', /* translators: %s: Maximum allowed file size in kilobytes. */ sprintf( __( 'This file is too big. Files must be less than %s KB in size.' ), get_site_option( 'fileupload_maxk', 1500 ) ), array( 'status' => 400 ) ); } // Include multisite admin functions to get access to upload_is_user_over_quota(). require_once ABSPATH . 'wp-admin/includes/ms.php'; if ( upload_is_user_over_quota( false ) ) { return new WP_Error( 'rest_upload_user_quota_exceeded', __( 'You have used your space quota. Please delete files before uploading.' ), array( 'status' => 400 ) ); } return true; }