PHP: как узнать какого размера файл может загрузить пользователь

Иногда, для того чтобы избежать ошибку, можно заранее о ней предупредить. Например, прежде чем предлагать загрузить файл на сервер, можно вывести сообщение о максимально возможном его размере. Определить размер файла для загрузки можно примерно так:

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);
      }
    }