Всем привет! Нужна ваша подсказка. Задача: 1) С помощью загрузчика одновременно пользователь загружает несколько файлов. 2) В браузере отображаются файлы,которые он загрузил.(на странице index.php) 3) Рядом с каждым из файлов кот. он загрузил отображается ссылка "открыть" 4) При клике по ссылке открывается файл к которому относится эта ссылка ,(файл открывается в окне плагина "fancyupload") например ЗАГРУЖЕННЫЕ ФАЙЛЫ: 1) азалия.txt 'открыть' 2) бегония.txt 'открыть' 3) роза.txt 'открыть' 4) гибискус.txt открыть'' Проблема в том, что открывается только тот файл,который был загружен последним,неважно по какой ссылке жмем. Делаю так: 1) название файла сохраняю в сессию session_start(); $_SESSION['sa']=$_FILES['Filedata']['name']; $search= $_FILES['Filedata']['name']; $search_1= $_FILES['Filedata']['tmp_name']; move_uploaded_file($search_1,"tmp/".$search); die( $search . ' '.'<a id="var" href="edit.php">открыть</a>'.'</div>'); 2) А в файле обработчике obrabothik.php уже открываю файл кот. был загружен. session_start(); $sa=$_SESSION['sa']; $files=$_SESSION['files']; $fp = fopen('tmp/'.$sa, "r"); if ($fp) { while (!feof($fp)) { $mytext = fgets($fp, 999); echo $mytext."<br />"; } } else echo "Ошибка при открытии файла"; fclose($fp); Но в сессию сохраняется только тот файл,который был загружен последний. Как в сессию сохранить название всех загруженных файлов и открывать их? Или можно другой вариант использовать? Добавлено спустя 1 минуту 56 секунд: Ошиблась плагин fancybox ,а не "fancyupload"
приведите пожалуйста пример ,как сформировать массив из названия файлов,кот. загрузили с помощью $_FILES.
Вы это серьёзно? Код (PHP): $_SESSION['files'] = $_FILES; С вас десять баксов, без меня вы эту проблему не решили бы.
НЕТ! НЕ ТО! В этом примере передается весь $_FILES со всеми его значениями.И вы сохранили его в сессию. Мне нужно немного другое. Нужно пройтись циклом по $_FILES с этим проблем нет,а затем сформировать массив только из НАЗВАНИЙ загруженных файлов и сохранить в сессию. У меня получается в массив сохранить название файла,кот.был загружен последним. Добавлено спустя 13 минут 45 секунд: А в этом вопросе вы мне не сможете помочь? Или отвечаете только на те цена которым десять баксов?!
Цель которую я хочу добиться в первом вопросе прочтите,если не затруднит. Хочу сформировать массив названий файлов кот.загрузились,сохранить их в сессию,чтобы можно было открыть каждый файл. Пока открывается только тот,который был загружен последним.
дык я вроде русскамана языкохам спрашиваю. В чем затык? =) Если не ответите, перенесу тему в бесплатную помощь, будете там ждать вашего рыцаря.
почистите каталог загрузки перед опытом. загрузите, например, 3 файла. проверьте доступным вам способом загрузились ли файлы на сервер. скриншот бросьте сюда пожалуйста - как выглядит страница со ссылками на загруженные файлы. плюс сами ссылки.
Добавлено спустя 1 минуту 8 секунд: Добавлено спустя 3 минуты 51 секунду: https://www.dropbox.com/s/hs8c0ak7disyurk/%D0%B7%D0%B0%D0%B ... %D0%B2.png Добавлено спустя 3 минуты 1 секунду: скриншот не получился скинула ссылку на него. задавайте вопросы,распишу подробней,очень надеюсь на вашу помощь
igordata, я давно заметила,что вы всегда спрашиваете ЧТО? ГДЕ? КОГДА? ПОЧЕМУ и КАК ? Но по существу никогда не отвечаете и не пытаетесь вникнуть в суть вопроса и помочь людям,которые к вам обращаются за помощью. Я например только учусь программировать и таким как я порой сложно сформировать вопрос касающийся программирования, а вы нет чтобы выяснить суть ,только еще больше путаете. Прошу прощения,если обидела!
а я блин как должен? телепатией вникать? отвечайте на вопрос. =) Добавлено спустя 1 минуту 31 секунду: предложите ваш магический способ выяснять суть без вопросов.
картинка не видна и не доступна по ссылке. я просто хотел диагностировать проблему точнее, чем "не работает".
И вам того же желаю!!! Добавлено спустя 44 секунды: Добавлено спустя 4 минуты 55 секунд: artoodetoo,проблема состоит в том,что я не могу связать загруженный файл со ссылкой Добавлено спустя 3 минуты 48 секунд: когда загружаю файлы,если проверить $_FILES ,то в массив сохраняются название всех загруженных файлов,но при клике по ссылке открывается файл, который был загружен последним,не важно по какой из ссылок кликнуть
У меня получается. Olga-Li, может, код покажете? Только урезанную версию, если можно. А файлы то сами загружаются, оказываются в папке tmp? И ещё покажите, что в массиве $_FILES на момент загрузки: Код (PHP): if(isset($_FILES)){ var_dump($_FILES); } А то вот эта строка выглядит подозрительно Код (PHP): $_SESSION['sa']=$_FILES['Filedata']['name']; , т.к. при мультизагрузке ['name'] является массивом. Соответственно обращаться нужно, как с массивом.
YSandro,да файлы загружаются в папку. Добавлено спустя 49 минут 45 секунд: $filenames =''; //Массив имен загруженных файлов foreach ($_FILES as $file) { $filename = $file['name'];// Получаем имя файла $filenames[] = $filename; // Заносим в массив } var_dump($filenames); // Вывод массива Как правильно сохранить массив имен загруженных файлов в $filenames,может тогда решится вопрос.
А проверяли? В коде я что то не вижу что бы был выбор открыть тот или другой файл. Был сохранен не массив. Правильно. Не работает?
1)$_SESSION['sa']=$_FILES['Filedata']['name'];если так сохранить то массив передается 2) Второй вариант не передает значение сессии $_SESSION['sa']=$filenames; нет не проверяла Добавлено спустя 2 минуты 20 секунд: не работает
Вообще то да.Ну да ладно. Код какой то странный. Давай уточним задачу. Нужно загрузить несколько файлов сразу.На другой странице вывести названия файлов с ссылкой при нажатии на ссылку отобразить содержание файла. Все верно?