За последние 24 часа нас посетил 34981 программист и 1712 роботов. Сейчас ищут 803 программиста ...

массив

Тема в разделе "PHP для новичков", создана пользователем produser, 21 май 2012.

  1. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Здравствуйте. На форме есть некое количество элементов типа <input file name="filename[]" /> они могут добавляться или удалятся пользователем в произвольном порядке с помощью jqerry...

    Не могу получить доступ к массиву $_FILES, точнее так выводит

    Код (Text):
    1.     echo('<pre>');
    2.     print_r($_FILES);
    3.     echo('</pre>');
    а так нет

    Понимаю , что как то не правильно, обращаюсь к массиву, подскажите где я ошибся...
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык эта...
    $_FILES['filename[0]']['tmp_name'] --> $_FILES['filename'][0]['tmp_name']

    вобще не забывай про волшебную var_dump();
     
  3. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    напишите пожалуйста пример, как можно обратится к какому либо элементу массива $_FILES в данном контексте.

    Заранее спасибо.
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так ведь вот же оно
    $_FILES['filename'][0]['tmp_name']
     
  5. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    echo('file='.$_FILES['filename'][0]['tmp_name']);

    ничего не выводит( хотя в массиве данные присутсвуют 100%
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    100%?

    а var_dump($_FILES['filename'][0]['tmp_name']); че показывает? =)
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    $_FILES['filename']['tmp_name'][0]
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а, точно. надеюсь это когданить поправят...
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если поправят - то при переходе хостинга на новую версию php - старые скрипты перестанут работать...
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ужос! зато можно будет нормально перебирать этот сраный файлс
     
  11. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Вообщем переделал я назначение имен тегам input file, теперь они имеют вид files_10 files_11 files_n
    Пытаюсь сделать проверку на пустой файл(если пользователь не выбрал файл и нажал отправить)
    Конструкция типа

    if (!empty($_FILES) {} не подходит, т.к. насколько я понял, при пустом значении в массив заносится код ошибки

    делаю так:

    Код (Text):
    1.  
    2.     $cnt=count($_FILES);
    3.     $i=10;
    4.     $a=0;
    5.     echo($cnt);
    6. while ($cnt>$a){
    7.     echo('error='.$_FILES['files_'.$i]['error']);
    8.  if($_FILES['files_'.$i]['error'] == 1 &&
    9.         $_FILES['files_'.$i]['error'] == 4) {
    10.     echo('<p style="color:red;font-size:18px;margin-top:25px;">Пожайлуста, выберите фотографию!</p>');
    11.     exit;
    12.     $i++;
    13.     $a++;
    14.     }
    15.     }
    но скрипт почему то вываливается в бесконечный цикл... Уже нез наю где копать...
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  13. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    я только недавно начал изучать пхп и еще не осилил всего, вместо того что бы смеяться над новичком, лучше б помогли...
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    О уважаемый новичок, мы конечно все понимаем, недавно, вся фигня, а сколько уже по счету тем таких и все вместе взятых?

    Если бы вы умели бы читать и листать форум, то уверяю вас, все бы у вас получилось.
    Нежели ныть.
    Уже и так печальных лиц развелось, лишь бы за вас все состряпали.

    php.net/manual/ru/features.file-upload.php
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе показали как работать с массивом. чего ты вдруг от этого отказался?
     
  16. produser

    produser Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    61
    Симпатии:
    0
    Не получилось разобратся дальше. поэтому решил найти другой способ...

    понял где протупитл, нада было вынести за скобки
    $i++;
    $a++;
    Поздно было, вот и не понял...
    Всем спасибо, все получилось!
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Грац чо =]
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    for тебе в помощь... Уж никак не while.
    Такой говно код надо на стенд вешать:
    http://govnokod.ru/