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 (обработка данных)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
soltx
Отправлено: 09 Августа, 2015 - 00:37:57
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Привет, подскажите как реализовать следующий функционал:
1) есть форма с возможностью загрузить текстовый файл
2) есть текстовый файл с названиями книг, каждое название идет с новой строчки, пример:
Название 1
Название 2
...
3) при загрузке файла необходимо отобразить авторов книг в таблице (без перезагрузки страницы)

я планирую реализовать так:
1) при помощи ajax подготавливаю синхронный запрос
2) загружаю файл на сервер, обрабатываю
3) получаю ответ, добавляю авторов на страницу

проблема с 2 пунктом: нужно ли вообще загружать файл на сервер? как обработать загружаемый файл?

(Отредактировано автором: 09 Августа, 2015 - 00:38:28)

 
 Top
Deonis
Отправлено: 09 Августа, 2015 - 02:51:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




soltx пишет:
нужно ли вообще загружать файл на сервер?
Если не учитываете старые браузеры, то совсем не обязательно, всё можно сделать на стороне клиента. Сделал вам рабочий пример в песочнице. Можете протестировать прямо там со своим файлом.
CODE (html):
скопировать код в буфер обмена
  1. <input type="file" id="myfile">

CODE (javascript):
скопировать код в буфер обмена
  1. var d = document;
  2. d.getElementById('myfile').addEventListener('change', function(){
  3.     var file = this.files[0],
  4.         reader = new FileReader();
  5.     reader.onloadend = function (evt) {
  6.         var txt = reader.result;
  7.         if(txt === '') return false;
  8.         var lines = txt.split(/\r?\n/),
  9.             tbl = d.createElement('table');
  10.         for(var i = 0; i < lines.length; i++) {
  11.             var row = tbl.insertRow(0),
  12.                 cell = row.insertCell(0);
  13.             cell.textContent = lines[i];
  14.         }
  15.         d.body.appendChild(tbl);
  16.     };
  17.     reader.readAsText(file);
  18. });

(Отредактировано автором: 09 Августа, 2015 - 02:51:46)

 
 Top
Viper
Отправлено: 09 Августа, 2015 - 09:39:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




soltx пишет:
проблема с 2 пунктом: нужно ли вообще загружать файл на сервер? как обработать загружаемый файл?
не мучать одно место, а взять готовое решение. К примеру plupload.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
soltx
Отправлено: 09 Августа, 2015 - 12:31:04
Post Id


Новичок


Покинул форум
Сообщений всего: 37
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Deonis, Viper спасибо
 
 Top
IllusionMH
Отправлено: 11 Августа, 2015 - 15:25:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




soltx, в современных браузерах и ИЕ10+ можно использовать File API. Через FileReader объект получайте содержимое файла как текст и выбирайте оттуда данные.
Для старых - можно и через плагины отправлять
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB