Для начала я установил свой post_max_size
в /etc/php.ini
4M как тест. У меня есть проверка, чтобы проверить тип файла и размер файла. Я хочу принимать только JPG, GIF и PNG. Размер файла не может превышать 4M. Похоже, что если размер файла больше, чем установлен в post_max_size
, мой код не будет вызывать ошибку. Если я установил свой PHP, чтобы запретить загрузку больше, чем, скажем, 2M, но меньше 4M, это вызовет ошибку (что я хочу). Я считаю, что это связано с тем, что PHP не принимает ничего за 4M.
if (is_uploaded_file($_FILES["file"]["tmp_name"])) { $file_type = exif_imagetype($_FILES["file"]["tmp_name"]); } else { $this->form_validation->set_message('valid_image', 'Error uploading file!!!'); return false; }
Существует еще один флаг ini upload_max_filesize, который вы должны увеличить до своего нового предела
Используйте значение в $_FILES["file"]["error"]
чтобы проверить статус загрузки .
Не уверен, но я проверял бы размер файла на клиенте до того, как произойдет загрузка. Этот подход сначала загрузил весь файл на сервер, прежде чем дать ошибку, даже если он сработает.
($_FILES['uploaded_file']['error'] == 0)
это успешная загрузка.