Пожалуйста, не начинайте предложения с конъюнктив.
Во-первых, содержание:
Краткий ответ: вы не можете ограничить тип загружаемых людьми файлов.
Более длинный ответ заключается в том, что вы можете проверить тип загруженного людьми файла и отказаться от него, если он не соответствует вашим требованиям.Обратите внимание, что проверка mimetype или расширения файла, предоставленного пользователем, не обеспечивает достаточной защиты.Здесь есть хорошее обсуждение проблемы и как ее решить здесь .
Следующий размер:
См. Пример № 1 в http://www.php.net/manual/en/features.file-upload.post-method.php Обратите внимание, что невсе браузеры уважают тег ввода MAX_FILE_SIZE.Размер файла также будет ограничен директивами php.ini, перечисленными на этой странице, а также ограничениями по запросу и размерами и таймаутами POST, настроенными на вашем веб-сервере.
Кстати, ваш метод генерации имен файлов довольно многословен.Использование uniqid (), вероятно, будет намного быстрее с гораздо меньшим количеством кода.Использование md5_file () будет иметь те же преимущества и предотвратит дублирование.