За последние 24 часа нас посетил 34021 программист и 1709 роботов. Сейчас ищет 791 программист ...

Как сделать...

Тема в разделе "Прочие вопросы по PHP", создана пользователем Great_DUKE, 4 июл 2016.

  1. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    У меня есть js функция, которая, с помощью ajax, передает на файл upload.php данные.
    вот сама функция

    Код (Text):
    1.  
    2. var data = new FormData();
    3.  
    4.      jQuery.each($("#selectedFiles")[0].files, function(i, file) {
    5.          data.append('file-'+i, file);
    6.      });
    7. $.ajax({
    8.             type: 'POST',
    9.             data: {text: texT,photos:data},
    10.             url: 'путь/upload.php',
    11.             dataType: "json",
    12.             contentType: false,
    13.             processData: false,
    14.             success: function(html){
    15.        //успех
    16. }
    как вы видите, в ключе, photos установлен параметр data, который имеет файлы.

    Как быть на стороне сервера, чтобы получить эти файлы и провести несколько проверок?

    а когда параметр data: data, то на стороне сервера я могу просто использовать глобальный массив $_FILES.

    Надеюсь, я все понятно объяснил.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    его и используй
     
  3. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    Но каким образом? Надо использовать foreach? Можете поконкретней, просто я попытался использовать $_FILE, когда data: {text: texT,photos:data}, но ничего не работало.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  5. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    Как это должно мне помочь? Я почитал, и ничего не понял, чем она отличается от обыкновенного FormData()
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    ты без цикла добился отправки?

    там не надо делать apend, просто указать ссылку на форму и будут отправлены все поля
     
  7. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    Мне нужно вместе с файлами отправить свои данные, которых не будет в форме
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Где ответ на первый вопрос?
     
  9. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    Прошу прощения, не заметил. Я исправил данную функцию, так как она в переменную data добавляла только одну картинку. Вот исправленный вариант
    Код (Javascript):
    1. for(var i = 0; i < col; i++){
    2.          if(blackList.indexOf(":"+i+":") == -1)
    3.          data.append('file-'+i, $("#selectedFiles")[0].files[i]);
    4.       }
    переменная col равна количеству элементов в массиве files.
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Отлично значит задача решена? Если нет то первым делом надо добиться отправки одного файла и скажем 1-2 параметра, а не делать циклы.
     
  11. Great_DUKE

    Great_DUKE Новичок

    С нами с:
    2 ноя 2015
    Сообщения:
    106
    Симпатии:
    0
    Мне просто надо узнать, что делать на стороне сервера, когда аякс отправляет какое то количество данных включая файлы.
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв