Ограничения размера файла при загрузке нескольких файлов - PullRequest
1 голос
/ 04 июля 2011

Я начал работать с загрузкой нескольких изображений. Вы открываете окно выбора файлов и выбираете файлы, удерживая клавишу CTRL, чтобы выбрать несколько файлов. У меня все работает, кроме части:

Я не могу ограничить размер файла для одного изображения! Я не могу понять, как получить одно из изображений и сравнить его с моим желаемым размером файла (10 МБ), если размер файла больше 10 МБ, пользователь должен получить ошибку, если он меньше 10 МБ, а затем продолжить. .

Как бы я это сделал? С несколькими файлами это совсем не так, как с одним файлом.

Ответы [ 3 ]

2 голосов
/ 05 июля 2011

Хорошо, я понял, как решить эту проблему следующим образом. Я использовал цикл foreach для загрузки нескольких изображений. Я использовал это так:

foreach ($_FILES['file']['tmp_name'] as $key => $tmp_name) 

Внутри цикла я сделал следующее:

$ fileSize = $ _FILES ['file'] ['size'] [$ key];

if ($fileSize <= 10485760)
{
       // upload code
}

Это заставило это работать! : D

Надеюсь, что в будущем кому-нибудь послужит ...

1 голос
/ 04 июля 2011

Я бы порекомендовал брать все файлы в виде массива и затем проверять размер каждого из них, также имейте в виду, что вы должны установить максимальное количество файлов, которые могут быть загружены одним человеком за один раз.

1 голос
/ 04 июля 2011

в php есть стандартный механизм, позволяющий ограничить размер загружаемых файлов. вам просто нужно добавить параметр формы MAX_FILE_SIZE и указать его размер в байтах в качестве значения:

<form method="post" enctype="multipart/form-data">
 <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
 <input type="file" name="excel_file"/>
</form>
...