<SCRIPT language="javascript">
// массив допустимых расширений
data_ext = new Array("doc","xls","pdf","rar","zip");
function Check_file(id_form){
file = document.getElementById(id_form).my_file.value;
dot = file.lastIndexOf(".");
if(dot != -1){
len = file.length;
ext = file.substring(dot+1,len);
var i = 0;
while(i <= data_ext.length){
if(data_ext == ext) {
return;
}
i++
}
alert(ext+" недопустимое расширение файла.");
}
event.returnValue = false;
}
</SCRIPT>
<form id="my_form" enctype="multipart/form-data" action="1.html" method="POST">
прикрепить файл (doc, xls, pdf, rar, zip):<br>
<input name="my_file" type="file">
<input type="submit" value="ok" onClick="Check_file('my_form')">
</form>
Маска файлов при обзоре на Upload
<input name="bla" type="file" accept="application/x-excel">
подскажите в чём ошибка.
а смысл, это же не остановит аплоудера на загрузку других файлов, если в скрипте не прописано. или я ошибаюсь?
Я не хочу заставлять его ждать это время и обламывать в конце... от праверки в скрипте я не отказываюсь, но ограничить выбор хотелось бы.
2) Лучше используй JS.
2) Лучше используй JS.[/QUOTE]
Скажи, пожалуйста, как узнать миме тип файла? это в каких-то свойствах написано или что? А то мне тут не только Иксель надо.
Почему лучше JS? accept не во всех броузерах работает?
Открой файл mime.types в дирректории conf апача - там они все написаны
Сдается, что до завершения загрузки файла на сервер ни как.
[QUOTE=Mnilionic]Почему лучше JS? accept не во всех броузерах работает?[/QUOTE]
Сам же говоришь, что не работает ;)
JS скрипт тоже не позволить узнать MIME-type, но он может по расширению файла делать фильтрацию.
я сделал вот такую функцию для фильтрации, но FireFox игнорирует строку: event.returnValue = false;
Как это исправить?
Код:
И если регист варьируется, то тоже не работает (
RegExp объект в JS.
Вообще-то это делается регулярными Perl-подобными выражениями через
Так как всётаки сделать, чтоб мазила не отправляла форму если расширение не подходит?