Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Jquery Ajax загрузка файла 
:(
    Опции темы
Areostar
Дата 17.12.2013, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



Текстовые данные грузятся грузятся без проблем. А вот картинку как грузить?

HTML форма:
Код

<form action="" enctype="multipart/form-data" method="POST">
   ///.........................................................
................................................................
.............................................................///

<input type='file' name='pictures[]' id='userfile_1'><input type='file' name='pictures[]' id='userfile_2'>
</form>


К странице пристёгиваю .js фаил
Код

$(document).ready(function(e)
{     
    $("#addPanel").

    $("#submit").click(function(){ 
        .....................................................................................


.....................................................................................................        
        $.ajax({ 
            url:"engine/saveNewSubject.php", 
            type: 'get',
            data:{ category:rublic, city:current_city, rooms:current_rooms, c_float:current_float, t_float:total_flaot, place:place, age:age, mmad:mmad, price:price, lift:lift, parking:parking, cammon:cammon, boiler:boiler, furniture:furniture, free_time:free_time, arnona:arnona, vaad_bait:vaad_bait, title:title, bodyText:bodyText },
            success:function(print){
                alert(print);            
            } 
        })        
    });

});


ну и в файле /saveNewSubject.php

Код

...........................................................................
...........................................................................
 foreach ($_FILES["pictures"]["error"] as $key => $error) {
        if ($error == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
            $name = $_FILES["pictures"]["name"][$key];
            move_uploaded_file($tmp_name, "foto/$name");
        }
    }


пытался в .js фаиле менять на    type: 'post', - непомогло.

Проверял print_r($_FILES); - показывает что пусто

в чём может быть причина????
PM MAIL   Вверх
ksnk
Дата 17.12.2013, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



А если сабмитить форму без Ajax, в $_FILES что то появляется?
Как вообще связан saveNewSubject с формой? Только вызовом ajax'а из сабмита формы? ajax, фактически, отдельная форма с отдельными данными и без полей с типом file.

И, да. Самое главное! длинные строки в коде - это зло. И не только потому, что весь тутошний сайт корежит  smile 

Это сообщение отредактировал(а) ksnk - 17.12.2013, 12:05


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Areostar
Дата 17.12.2013, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



На счёт длинных строк согласен но не о том сейчас разговор - проблемма в том как подружить Ajax и загрузку файлов через PHP?

Скажите пожалуйста могу ли я с помощью Jquery узнать что у меня в input file выбранно??

Добавлено через 26 секунд
На счёт длинных строк согласен но не о том сейчас разговор - проблемма в том как подружить Ajax и загрузку файлов через PHP?

Скажите пожалуйста могу ли я с помощью Jquery узнать что у меня в input file выбранно??
PM MAIL   Вверх
ksnk
Дата 17.12.2013, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(Areostar @  17.12.2013,  12:16 Найти цитируемый пост)
Скажите пожалуйста могу ли я с помощью Jquery узнать что у меня в input file выбранно??

Вообще говоря - нет. 
Точнее - не для всех броузеров и не всегда одинаковым образом. Вообще говоря, на javascript вполне себе читается атрибут value у нужного элемента file. Иногда это имя файла, с путем, иногда непойми что, но имя файла обычно можно получить. 
Присвоить туда что то уже нельзя, практически везде.
засабмитить (вызвать form.submit()) такую форму ajax'ом (без перезагрузки станицы) можно, если указать ему в target имя скрытого фрейма

Код

<iframe name="temp_frame" style="display:none;"... ></iframe>
<form enctype="multipart/form-data" target="temp_frame" ... 
</form>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Areostar
  Дата 21.12.2013, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



попробывалю но всеравно print_r($_FILES);  показывает что массив пуст
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.