Как работает $_FILES?
а что именно не понятно?? 
поля input type=file уходят в $_FILES, остальное в $_POST или $_GET^ в зависимости от того, какой метод указан в форме
Данные обычной формы передаются фактически в виде query string, только передается эта строка не в заголовке, а теле запроса.
Данные формы с типом multipart/form-data - это, фактически, емейл с вложениями, по стандарту MIME
Соответственно, все файлы просто добавляются в тело "письма" и распаковываются оттуда веб-сервером.