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]   

> Без описания
kuller
Отправлено: 25 Апреля, 2016 - 11:16:59
Post Id



Частый посетитель


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


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




Есть форма в которой есть одно поле для загрузки фото. Задача стоит в том чтоб всю форму отправить по средствам ajax, при этом когда выбирают фото для загрузки оно должно отобразиться на странице до отправки всей формы. Соответственно для отображения фото надо его загрузить. Как быть в этом случае если пользователь всю форму не сохранил и ушел с данной страницы. Как же тогда удалить все фото которые не отображаются на страницах сайта? есть конечно такая мысль, раз в день запускать скрипт который бы сравнивал фото которые загружены и названия фото которые хранятся в базе, которые не найдены их удалять. А если база например на 1000000 записей, тогда нагрузка на базу наверно большая будет? как можно вот эти фото удалять или сделать чтоб фото сохранялось только после того как нажата кнопка "отправить"
 
 Top
pantela
Отправлено: 25 Апреля, 2016 - 12:06:11
Post Id



Частый посетитель


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


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




Прим. такое у меня сделано... Пользователь выберает фото, они попадают в папку tmp и на странице выводяться, и только после отправки формы делается запрос в БД на сохранение...

P.S. Сохранение в БД я делаю только по одному полю is_photo, где ото 1 или 0. Ну а вывод делаю через scandir(). Понимаю scandir() не быстро работает, но что-бы снизить нагрузку сканирование файлов иерархия файлов у меня такая...
/фото
/фото/год
/фото/год/месяц
/фото/год/месяц/дата
/фото/год/месяц/дата/АД_Материала
 
 Top
IllusionMH
Отправлено: 25 Апреля, 2016 - 12:53:57
Post Id



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


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


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




kuller пишет:
при этом когда выбирают фото для загрузки оно должно отобразиться на странице до отправки всей формы. Соответственно для отображения фото надо его загрузить.

kuller, а можно погуглить на тему File API и URL.createObjectURL() и ничего лишнего не слать на сервер
 
 Top
kuller
Отправлено: 25 Апреля, 2016 - 13:30:59
Post Id



Частый посетитель


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


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




IllusionMH пишет:
kuller пишет:
при этом когда выбирают фото для загрузки оно должно отобразиться на странице до отправки всей формы. Соответственно для отображения фото надо его загрузить.

kuller, а можно погуглить на тему File API и URL.createObjectURL() и ничего лишнего не слать на сервер


по гуглил. Нашел даже такое что на html5 можно сделать предварительный просмотр изображений выбранных в input file. Только вот как... не могу найти
 
 Top
IllusionMH
Отправлено: 25 Апреля, 2016 - 19:17:05
Post Id



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


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


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




kuller, а второй набор непонятных для вас слов не пробовали смотреть? который URL.createObjectURL() особенно на MDN

(Отредактировано автором: 25 Апреля, 2016 - 19:37:32)

 
 Top
3d_killer
Отправлено: 26 Апреля, 2016 - 15:41:31
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




У меня сделано JS, выбираешь файлы они сразу отображаются списком без загрузки (естественно в масштабе), на каждом по желанию можно выделить область для загрузки, и только после нажатия кнопки загрузить они уже загружаются и обрабатываются.
вот кусок из моего кода
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var files=el[0].files;
  3. var reader = new FileReader();
  4.         reader.onload = function(e)
  5.                 {
  6.                         element.('img').attr('src', e.target.result)
  7.                 }
  8.         reader.readAsDataURL(files);
  9. }

для одного файла
Прикреплено изображение (Нажмите для увеличения)
123123123123123.jpg
 
My status
 Top
IllusionMH
Отправлено: 26 Апреля, 2016 - 15:52:42
Post Id



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


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


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




3d_killer, а не проще без созданий объектов, колбеков вызвать URL.createObjectURL(files) и получить строку? Не говоря о размере занимаемой памяти Улыбка
 
 Top
3d_killer
Отправлено: 26 Апреля, 2016 - 16:04:24
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




может проще, не задавался этим вопросом, как время появится посмотрю, просто срочно нужен был удобный загрузчик для фото товаров, вот что в голову пришло, да и как без объектов то у меня же к каждому изображению цепляется выделение, а там еще куча инпутов клонируются с координатами, дабы потом отправить на обработку, это код я привел как пример для одного файла, тут нет ни селекта ни клонирования так просто вывести на экран.
 
My status
 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