За последние 24 часа нас посетили 18953 программиста и 1639 роботов. Сейчас ищут 875 программистов ...

Как сохранить массив $_FILES в сессию

Тема в разделе "PHP для новичков", создана пользователем Olga-Li, 24 янв 2014.

  1. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Сейчас поможем. Уно моменто :)
     
  2. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    Спасибо!
     
  3. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Загрузка
    Код (PHP):
    1. <?php
    2. unset($_SESSION['files_names']);
    3.  
    4. if(isset($_FILES['items'])){
    5.     foreach($_FILES['items']['error'] as $file => $error)
    6.         if ($error == UPLOAD_ERR_OK){
    7.             $tmp_name = $_FILES["items"]["tmp_name"][$file];
    8.             $_SESSION['files_names'][] = $name = $_FILES["items"]["name"][$file];
    9.             if(!move_uploaded_file($tmp_name, "data/$name"))
    10.                 echo "uploading error $name";
    11.         }
    12. }
    13.  
    14. ?>
    15.  
    16.  
    17. <html>
    18. <body>
    19.  
    20. <form action="" method="post" enctype="multipart/form-data">
    21.   <input type="file" name="items[]">
    22.   <input type="file" name="items[]">
    23.   <input type="submit">
    24. </form>
    25.  
    26. </body>
    27. </html>
    Вывод
    Код (PHP):
    1. <?php
    2. if(isset($_SESSION['files_names'])){
    3.     $files_count = count($_SESSION['files_names']);
    4.     $content = '';
    5.  
    6.     for($i=0; $i < $files_count; $i++)
    7.         $content .= $_SESSION['files_names'][$i].' [url="qwerty"]Show[/url]';
    8. }
    9. ?>
    10.  
    11. <html>
    12. <body>
    13.  
    14. <?=$content?>
    15.  
    16. </body>
    17. </html>
    Что то вроде этого.
    Это так набросок, но рабочий.
    При загрузке еще бы не помешало бы проверить расширение и т.д. но это уже домашнее задание:)
    Если есть вопросы задавай.

    Добавлено спустя 2 минуты 45 секунд:
    Отображение файла напишешь?
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    таки научилась отвечать на вопросы :D
     
  5. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    Большое спасибо!

    Моя форма загрузки

    <form action="obrabothik.php" method="post" enctype="multipart/form-data" id="form-demo">

    <fieldset id="demo-fallback">
    <legend>Загрузить </legend>
    <p>
    В вашем браузере отключено выполнение JavaScript. Для корректной работы требуется включить JavaScript.
    </p>
    <label for="demo-photoupload">

    <input type="file" name="Filedata" />
    </label>
    </fieldset>

    <div id="demo-status" class="hide">
    <p>
    <a href="#" id="demo-browse">Выбрать файлы</a> |
    <a href="#" id="demo-clear">Очистить список</a> |
    <a href="#" id="demo-upload">Начать загрузку</a>
    </p>
    <div>
    <strong class="overall-title"></strong><br />
    <img src="fancyupload/assets/progress-bar/bar.gif" class="progress overall-progress" />
    </div>
    <div>
    <strong class="current-title"></strong><br />
    <img src="fancyupload/assets/progress-bar/bar.gif" class="progress current-progress" />
    </div>
    <div class="current-text"></div>
    </div>

    <ul id="demo-list"></ul>

    </form>
    Вопрос!
    PHP код будет аналогичным?
    Моя проблема состояла в том ,что я не могу сохранить название загруженных файлов в массив,чтобы потом передать в сессию

    Добавлено спустя 1 минуту 33 секунды:
    igordata,просто люди вопросы задают грамотно!
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Все зависит от твоего мышления, что ты понимаешь под аналогичным и как ты переделаешь под себя :)
    Для меня да аналогичный :)
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    угу. всё так, всё так.

    Спроси их мнения. =)
     
  8. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    smitt,огромное спасибо!

    В понедельник доработаю код,напишу.
    А сейчас еду отдыхать!

    Добавлено спустя 2 минуты 48 секунд:
    Ребята всем спасибо,кто помог и кто хотел помочь!!!
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ой, сомнения меня терзают :) но удачи.

    ну что вы с Ёром начали. Мнение чего?
    С ёром все ясно его в детстве сладостей лишали, вот и злится на всех.
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я задавал вопросы. на том этапе всё было покрыто тайной. я пытался понять что не работает. Вот и спрашивал, что не пашет в такой простой задаче. Ясно же, что проблема совсем не та, которая написана.
     
  11. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    igordata, да ладно,не обижайся!

    Добавлено спустя 3 минуты 9 секунд:
    Не получится,опять на форум! Здесь хорошие люди :)
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не обижаюсь. просто хочу вправить вам мозг чуток. =) хотите помощи - отвечайте на все вопросы как можно более развёрнуто. Перечитайте топик, обратите внимание, с какого момента пошла помощь и было найдено решение. Повторите это сразу в следующий раз. Это одно конкретное действие. Найдите его.
     
  13. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    Смешной :)
     
  14. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вот, Андрюша, сообщение, после которого жизнь наладилась: viewtopic.php?p=375338#p375338
    подумай почему.
     
  15. Olga-Li

    Olga-Li Новичок

    С нами с:
    26 сен 2013
    Сообщения:
    65
    Симпатии:
    0
    Василий,вопросы надо задавать правильно и получите развернутый ответ!
    А нам начинающим программистам порой сложно сформировать правильно,то ,что хотим получить в результате. И ЭТО можно простить!
     
  16. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    просто не надо винить других в своих косяках. надо просто отвечать на вопросы. я с такими мистическими ситуациями сталкивался, что пипец. Поэтому если я задаю вопрос, то хочу прежде чем начать генерировать псевдосоветы абы чтонить спизднуть - хочу выяснить ситуацию в деталях. Прежде чем начать отвечать и советовать, надо понять что не так. А т.к. вы - начинающие программисты - ничерта не умеете сами диагностировать проблему, вам задаются вопросы.
    Обратите внимание на вардамп. Без него судить о чем либо крайне проблематично. Но чтобы его где-то сделать, надо сначала понять где.

    Поэтому то что вы со своей истерикой и требованиями безоговорочной помощи тут вытворяли - это смешно. А вопросы мои не смешные. И даже первый ответ не смешной. Потому что о вашей квалификации и уровне понимания у меня не было ни малейшего представления. И вы не единственный новичек тут, и ответ на вопрос как сохранить в сессию массив "$_SESSION['files'] = $_FILES; " для некоторых вполне отвечает их запросам.

    Осмыслите пост YSandro, на который я дал ссылку. Но судя по вашим реакциям это маловероятно.