Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » php, js: загрузка файлов с помощью js и php

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
я сделал на 2х файлах, и всё равно обновление страницы идет... а после её обновления, появляется текст...

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 00:51 16-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я сделал на 2х файлах, и всё равно обновление страницы идет

значит сделали что то не так.  
 
более того, если уж копируете код, то последнюю версию.
 
не работает нормально в IE, но это, возможно, из за моей эмуляции сервера.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:53 16-02-2014
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
а через Flash Player можно сделать закачку файлов?

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 16:51 16-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
Flash Player можно сделать закачку файлов

а что делать тем, у кого Flash нет ?)  
 
сделать можно практически что угодно
https://code.google.com/p/swfupload/

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:04 16-02-2014
CodeKeeper

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
просто может быть такое, что файл не загрузится а все input обновляться и будут пустыми...

 
А в чем проблема, на время проверки, загнать информацию пользователя в сессию, а после успешного добавления очистить ее?

Всего записей: 24 | Зарегистр. 28-12-2013 | Отправлено: 11:19 17-02-2014
KlimKlim



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну зачем писать свой велосипед? Всё уже написано до вас:
https://github.com/blueimp/jQuery-File-Upload
 
И статьи по его использованию:
http://habrahabr.ru/post/200916/
http://habrahabr.ru/post/158167/
http://habrahabr.ru/post/140400/
 
 
Добавлено:
Или по-английски:
http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery

Всего записей: 383 | Зарегистр. 23-03-2006 | Отправлено: 11:58 17-02-2014
Sutar



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
просто очень интересно как сделана на ex.ua например... Там выбираешь несколько файлов, после нажимаешь добавить... и имена файлов сразу добавляются в поля, и идет закачка на сервер... там показывается сколько % загружено и т.д.
 
вот еслиб осуществить похожее...

Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 17:26 17-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
вот еслиб осуществить похожее

ну так делайте.. несколько файлов - через Flash.
индикатор закачки - нужна поддержка со стороны сервера (настройка PHP + доп модуль)

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:57 17-02-2014
CodeKeeper

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Зачем флеш если выше уже привели примеры?
 
http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery
 

Цитата:
$(':button').click(function(){
    var formData = new FormData($('form')[0]);
    $.ajax({
        url: 'upload.php',  //Server script to process data
        type: 'POST',
        xhr: function() {  // Custom XMLHttpRequest
            var myXhr = $.ajaxSettings.xhr();
            if(myXhr.upload){ // Check if upload property exists
                myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
            }
            return myXhr;
        },
        //Ajax events
        beforeSend: beforeSendHandler,
        success: completeHandler,
        error: errorHandler,
        // Form data
        data: formData,
        //Options to tell jQuery not to process data or worry about content-type.
        cache: false,
        contentType: false,
        processData: false
    });
});
 
 
 
 
 
function progressHandlingFunction(e){
    if(e.lengthComputable){
        $('progress').attr({value:e.loaded,max:e.total});
    }
}

Всего записей: 24 | Зарегистр. 28-12-2013 | Отправлено: 11:19 18-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CodeKeeper

Цитата:
Зачем флеш если выше уже привели примеры?

ну может хочет человек сам разобраться )
мне, к примеру, в некоторых случаях проще свое написать, чем цеплять чужое и громоздкое.
 

Цитата:
For handling the progress of the upload

прогресс не будет работать без APC и включенной опции для прогресса или специального PECL модуля.
 
ps: сорри, не брал во внимание html5

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:23 18-02-2014 | Исправлено: Cheery, 12:01 18-02-2014
KlimKlim



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
По-моему ещё на HTML5 можно процесс загрузки отображать.
Пример: http://www.matlus.com/html5-file-upload-with-progress/
 
Добавлено:
+ по-русски
http://habrahabr.ru/post/109079/

Всего записей: 383 | Зарегистр. 23-03-2006 | Отправлено: 11:30 18-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KlimKlim

Цитата:
HTML5 можно процесс загрузки отображать

в принципе, наверно, уже можно.  
если выбросить IE9 и ниже, а сидящих на XP пока еще много )
http://caniuse.com/xhr2

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:39 18-02-2014 | Исправлено: Cheery, 12:07 18-02-2014
KlimKlim



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery
Ну, всегда будут слоупоки, это не повод идти позади прогресса, это повод впилить предложение установить новый браузер и написать какой-нибудь Fallback-функционал для владельцев IE9 и ниже.
Вообщем, по-моему, тему разжевали полностью:
1. Есть HTML5 реализация. Минусы - не работает в IE9 и ниже, плюсы - есть мультизагрузка и нативный прогрессбар без доп требований к серверу.
2. Решение с классическим ajax file upload. Минусы - нужна настройка сервера для отображения прогресса.
3. Решение с флэшевым аплоадером, типа UPLOADIFY. Минусы - требуется флэш.
 
Имхо правильнее всего реализовать флэшевый вариант, и, в случае, если не проканает - фолбэкаться на HTML5, ибо прогресс бас с APC весьма глючная штука. Таким образом непокрытыми останутся только пользователи IE9 и ниже без флэша.

Всего записей: 383 | Зарегистр. 23-03-2006 | Отправлено: 12:24 18-02-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KlimKlim
самое простое - забить на прогрессбар ))
он важен лишь для больших файлов, и некоторые браузеры (Хром точно, как и остальное на Webkit, по видимому) показывают процент загрузки в строке состояния.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 12:30 18-02-2014
KlimKlim



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery
Тоже верно.
 
Sutar
В общем, тебе дали возможные варианты - выбирай и пользуйся, если будут вопросы - спрашивай.

Всего записей: 383 | Зарегистр. 23-03-2006 | Отправлено: 13:11 18-02-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » Web-программирование » php, js: загрузка файлов с помощью js и php


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru