Всем доброго времени суток. У меня возникла проблемка. По порядку.
1) В php есть ограничение на размер POST-данных (2МБ, допустим).
2) Мне необходимо как-то обработать ошибку когда файл слишком большой дабы не пугать юзеров.
Легко вычислить размер файла когда он находтся на сервере. Что можно сделать в случае аплоада, ума не приложу.
Принимаются любые мысли
SlyDeath, Смотри массив $_FILES
Koenig, Спасибо, рассмотрю этот вариант
SlyDeath, В нем при загрузке проверяй номер ошибки
if($_FILES['userfile']['error'] == 1)
echo 'Файл большой';
Спасибо, что навели на правильную мысль, а то я с этими кодами уже тут ваще не соображаю
Решил проблему так:
if (isset($_POST['submit']) && $_FILES['img']['error'] == 0)
Просто создал файлик чтоб заглянуть внутрь $_FILES:
?>
<form action="" method="post" enctype="multipart/form-data">
<input name="1" type="file" size="">
<input name="sdf" type="submit" value="Грузить">
</form>
<?php
echo '<pre>';
print_r($_FILES);
echo '</pre>';
Загрузил "проблемное" фото, и увидел массив:
Array
(
[1] => Array
(
[name] => IMG_1133.JPG
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)
И стало понятно, что при удачной загрузке всегда ->
0, а при неудачной ->
1.
Ну это я не вам, просто может кому-то полезно будет.