Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2020, 00:33
Новичок на форуме
Отправить личное сообщение для KOKS1999 Посмотреть профиль Найти все сообщения от KOKS1999
 
Регистрация: 29.01.2020
Сообщений: 3

Проверка загружаемых файлов
Здравствуйте.
1) С помощью php загружаю через multiple сразу несколько файлов.
У меня есть массив допустимых расширений. Как сделать, чтобы парсился текст после точки каждого файла и, сравнивался с каждым расширением в массиве. Например: 1.jpg, 2.png. 1 файл берем jpg и ищем совпадение с массивом, нашли ок. Берем png не нашли совпадение с массивом, форма не отправляется. То есть, если хоть 1 из 5 загружаемых файлов не соответствует формату который можно использовать, то форма не отправляется, а иначе всё ОК. ( прошу написать код, не знаю как самому написать ).
2) Что делать, если пользователь откл js в браузере?
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2020, 00:52
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от KOKS1999
То есть, если хоть 1 из 5 загружаемых файлов не соответствует формату который можно использовать, то форма не отправляется
Вы можете указать в самой форме какие можно типы... (Тогда не будет файлов, которые нельзя использовать, их не будет в диалоге выбора файлов)

<form method="post">
    <input type="file" name="images" multiple accept="image/png,image/gif,image/jpeg" required>
    <input type="submit">
</form>


Сообщение от KOKS1999
Что делать, если пользователь откл js в браузере?
Ничего! Вопрос в том, зачем такое пользователям нужно! Форма выше так и так будет работать!

Последний раз редактировалось Malleys, 29.01.2020 в 00:57.
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2020, 01:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
Тогда не будет файлов, которые нельзя использовать
К сожалению может быть если пользователь любит Safari и использует его в Widows. Тогда все что угодно.

KOKS1999, никогда не проверяйте тип файла по расширению после точки, например разрешенные image/jpeg, это и .jpg, и .jfif, и .pjpeg, и .pjp.
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2020, 01:16
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
К сожалению может быть если пользователь любит Safari и использует его в Widows. Тогда все что угодно.
И какая там версия Safari? 13? Вы бы ещё вспомнили свой любимый IE6! Конечно же accept в старинных браузерах не работает, потому что тут идёт речь о вещах, приближённых к действительности. И тем более так и так следует проверять присланные на сервер файлы! (Проверить тип, при загрузке следить за размером (чтобы не загружали, например, 150 МБ файлы и пр.), чтобы сразу закрыть соединение не дожидаясь всей загрузки файла)

Последний раз редактировалось Malleys, 29.01.2020 в 01:18.
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2020, 01:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
И какая там версия Safari? 13? Вы бы ещё вспомнили свой любимый IE6!
Во-первых нет у меня любимого, во-вторых маки давно забросили обновление своего детища под Win, а в третьих старья хватает и не по моей воле.
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2020, 16:52
Новичок на форуме
Отправить личное сообщение для KOKS1999 Посмотреть профиль Найти все сообщения от KOKS1999
 
Регистрация: 29.01.2020
Сообщений: 3

Просто проверка через инпут не подходит, ибо человек может загрузить скрипт. Или просто взять и загрузить любой файл. Мне ради безопасности надо
Ответить с цитированием
  #7 (permalink)  
Старый 29.01.2020, 17:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от KOKS1999
Или просто взять и загрузить любой файл. Мне ради безопасности надо
Это уже забота сервера, а не клиента, следить чтобы мусора не грузили.
Ответить с цитированием
  #8 (permalink)  
Старый 29.01.2020, 21:38
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
Это уже забота сервера, а не клиента, следить чтобы мусора не грузили.
А разве я не про это написал в сообщении №4? А вы пересказываете своими словами...

Сообщение от laimas
Во-первых нет у меня любимого
Он самый!

Сообщение от laimas
во-вторых маки давно забросили обновление своего детища под Win
Также как и форточки под MacOS

Сообщение от KOKS1999
Просто проверка через инпут не подходит, ибо человек может загрузить скрипт. Или просто взять и загрузить любой файл. Мне ради безопасности надо
То, что я вам показал в сообщении №2 — то потрясающе справляется с своей задачей: пользователи видят те файлы, которые можно загружать. (А потом идёт обработка на сервере, как было написано в сообщении №4)
Ответить с цитированием
  #9 (permalink)  
Старый 29.01.2020, 21:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Malleys, опять язык зачесался? А потом обиды, что ...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как избежать ошибки по ограничению открытых файлов? Tipylja Node.JS 3 17.08.2018 19:43
Чтение и вывод данных из нескольких файлов Nikc174 Элементы интерфейса 8 15.06.2018 15:54
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Загрузка БОЛЬШИХ файлов посредством ajax barcelona jQuery 7 12.10.2012 03:37
SWFUpload - отображение выбранных файлов Барин AJAX и COMET 2 17.07.2011 10:07