WP_REST_Attachments_Controller::check_upload_size() WordPress Method
The WP_REST_Attachments_Controller::check_upload_size() method is used to check the size of an attachment before it is uploaded to WordPress. This is useful to ensure that the attachment is not too large for the server to handle.
WP_REST_Attachments_Controller::check_upload_size( array $file ) #
Determine if uploaded file exceeds space quota on multisite.
Description
Replicates check_upload_size().
Parameters
- $file
(array)(Required)$_FILES array for a given file.
Return
(true|WP_Error) True if can upload, error for errors.
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php
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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.9.8 | Introduced. |