О загрузке файлов на сервер рассказывается, наверное, в каждой книге о веб разработке. Обычно при этом приводится пример формы с тегом input type=file и объясняется, как работать с массивом $_FILES
на стороне сервера. Это классический вариант. Он отлично работает, но имеет несколько ограничений.
1) Чтобы загрузить несколько файлов, нужно создать несколько тегов input
. При этом пользователь должен будет выбирать каждый файл отдельно, что довольно неудобно при большом количестве файлов.
2) Невозможно показать процент загрузки файла.
3) Загрузка нескольких файлов будет выполнена в одном запросе. Тут нет ничего плохого, но может возникнуть проблема, если на сервере установлены ограничения на максимальный объем запросов и время выполнения скриптов.
4) Загрузка не будет асинхронной, т.е. произойдет перезагрузка страницы.
На сегодняшний день существует два основных варианта решения этих проблем. Использование iframe
или flash
(по-идее, silverlight
тоже можно использовать для этих целей).
Читать дальше