1.20.x file.inc | file_validate_size(File $file, $file_limit = 0, $user_limit = 0) |
Checks that the file's size is below certain limits.
Parameters
File $file: A file entity.
$file_limit: An integer specifying the maximum file size in bytes. Zero indicates that no limit should be enforced.
$user_limit: An integer specifying the maximum number of bytes the user is allowed. Zero indicates that no limit should be enforced.
Return value
An array. If the file size exceeds limits, it will contain an error: message.
See also
Related topics
File
- includes/
file.inc, line 1849 - API for handling file uploads and server file management.
Code
function file_validate_size(File $file, $file_limit = 0, $user_limit = 0) {
global $user;
$errors = array();
if ($file_limit && $file->filesize > $file_limit) {
$errors[] = t('The file is %filesize exceeding the maximum file size of %maxsize.', array('%filesize' => format_size($file->filesize), '%maxsize' => format_size($file_limit)));
}
// Save a query by only calling file_space_used() when a limit is provided.
if ($user_limit && (file_space_used($user->uid) + $file->filesize) > $user_limit) {
$errors[] = t('The file is %filesize which would exceed your disk quota of %quota.', array('%filesize' => format_size($file->filesize), '%quota' => format_size($user_limit)));
}
return $errors;
}