PHP: как узнать какого размера файл может загрузить пользователь
Иногда, для того чтобы избежать ошибку, можно заранее о ней предупредить. Например, прежде чем предлагать загрузить файл на сервер, можно вывести сообщение о максимально возможном его размере. Определить размер файла для загрузки можно примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function file_upload_max_size() { static $max_size = -1; if ($max_size < 0) { $post_max_size = self::parse_size(ini_get('post_max_size')); if ($post_max_size > 0) {$max_size = $post_max_size;} $upload_max = self::parse_size(ini_get('upload_max_filesize')); if ($upload_max > 0 && $upload_max < $max_size) {$max_size = $upload_max;} } return $max_size; } function parse_size($size) { $unit = preg_replace('/[^bkmgtpezy]/i', '', $size); $size = preg_replace('/[^0-9\.]/', '', $size); if ($unit) { return round($size * pow(1024, stripos('bkmgtpezy', $unit[0]))); } else { return round($size); } } |