Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Передача файлов через ajax
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
Можно ли передавать файлы через ajax? То есть что-то наподобие обычного <input type="file">? Понятно, что можно сделать по-тупому:
1) прочесть содержимое файла в переменную.
2) отправить содержимое переменной через ajax
3) сохранить в файл на сервере содержимое
но мне интересно можно ли через ajax передать файл также, как это делается без ajax, то есть, чтобы на сервере работать с файлом, как-будто он прислан через обычный запрос, а не через ajax, а именно работать через массив $_FILES и ф-цию move_uploaded_file()
Arni
Отправлено: 02 Августа, 2011 - 20:00:09
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
AJAX (ˈeɪdʒæks, от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных, веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
Для того чтобы передать файл без перезагрузки страницы, js вообще не нужен, точнее нужен, но это штатные свойства форм отправки данных. И делается это так.
Это работает, и тут нету js, магии и AJAX. Единственное єто нужно для фрейма задать нулевые ширину и высоту, ну чтоб его видно не было.
И когда вы будете искать и качать плагины или библиотеки для загрузки файлов типа через AJAX, то знайте, почти всегда используется именно этот принцип. И js тут нужен только для того чтобы создать анимированные игрушки вида подождите ваш файл загружается или индикатор хода процесса ну и.т.д.
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
Ну во-первых данный код приведет к перезагрузке страницы, по-моему, т.к. форма находится не внутри фрейма. Ну да не суть, как важно. Такой подход я и сам бы придумал. Но фреймы - прошлый век. Даже пусть не прошлый век, но мне интересен сам факт возможности передачи файлов через ajax, возможно ли это, то есть можно ли передать как-то файл через ajax, чтобы потом с ним работать, как с файлом, переданным обычным способом, без ajax.
DeepVarvar
Отправлено: 02 Августа, 2011 - 20:17:48
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.