Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 19

Вывод файлов из директории

20.12.2014, 01:04. Показов 4390. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Есть такой вопрос: имеется директория и в ней текстовые файлы.
Надо вывести названия этих файлов с ссылкой на каждый файл.
Вот примерно такой код:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<body>
 
<?php
 
echo '<h1>hello, world</h1>';
 
include ("include.php");
$dir = 'php';      #Указываем директорию, которую надо отобразить на экране   
$files = scandir($dir);     #Сканируем содержимое указанной директории 
 
foreach ($files as $value)
{
 
echo '<a href="index.php?id= ? >Read-'.$value.'</a><br>'; //Вопрос: как тут написать чтобы шёл перебор текстовых файлов (т.е. с параметром).
 
?>
 
</body>
</html>

Заранее благодарен за ответ.
Олег
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2014, 01:04
Ответы с готовыми решениями:

Вывод файлов pdf в директории
Есть директория в которой лежат файлы pdf, в ней же нужно сделать файл index.php который выведет список всех файлов pdf с ссылками на них....

Поиск вхождений в файлах директории и вывод файлов на экран
Здравствуйте, уважаемые форумчане! Возник вопрос: Предположим, у меня на сервере есть директория с огромным кол-вом файлов и...

Вывод файлов из директории с параметром типа index.php?id=number
Здравствуйте! А вы не подскажете как сделать так: имеется директория и в ней набор файлов. Хотел бы сделать так: раскидать файлы и...

8
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
20.12.2014, 01:33
Цитата Сообщение от ollegra77 Посмотреть сообщение
Вопрос: как тут написать чтобы шёл перебор текстовых файлов (т.е. с параметром).
PHP
1
2
3
4
5
6
7
$entries = scandir(".");
$filelist = array();
foreach($entries as $entry) {
    if (strpos($entry, "*.txt") === 0) {
        $filelist[] = $entry;
    }
}
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
20.12.2014, 13:03
Еще нужно проверить, файл ли.

Виталюска, что-то не догнал, как вы тут использовали strpos.

P.S. Что за болезнь везде использовать динамические параметры. Уж здесь-то точно гораздо уместнее использовать пути.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
20.12.2014, 14:31
Цитата Сообщение от ollegra77
Есть такой вопрос: имеется директория и в ней текстовые файлы.
Надо вывести названия этих файлов с ссылкой на каждый файл.
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php # Директория которую смотрит скрипт.
 
$directory_to_be_see = ".";
 
# Афонин С.М., PHP для начинающих. Стр. 95
 
$FV=opendir($directory_to_be_see);
 
while(($nfile=readdir($FV)) !== false) {
    if($nfile == "." or $nfile == ".."){continue;};
    print "<a href=\"$nfile\" target=\"_blank\">$nfile</a><br>\n";
}
closedir($FV);
 
# Конец. ?>


cyberforum.ru/php-beginners/thread1322562.html
cyberforum.ru/php-beginners/thread1334148.html
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 19
22.12.2014, 23:45  [ТС]
Виталюска,
Здравствуйте!
А вы не подскажете как сделать так: имеется директория и в ней набор файлов.
Хотел бы сделать так: раскидать файлы в файл index.php?id=number (для каждого файла свой номер)
Как можно это сделать?

Спасибо.
Олег
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
23.12.2014, 11:49
miketomlin, ну так в чем проблема напишите человеку код, зачем только разводить базар

Добавлено через 2 минуты
ollegra77, как вариант при сохранении присваивать файлу номер
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
23.12.2014, 13:12
Сначала базар, потом код, не?

Отсортируйте массив, оставив в нем только имена txt-файлов. Индексы элементов массива можно использовать в качестве id файлов. Это при условии, что в дальнейшем состав файлов изменяться не будет. В массив можно было сразу втягивать только txt-файлы при помощи opendir/readdir/closedir.

Добавлено через 5 минут
А вообще я не совсем понимаю, что значит «раскидать файлы в файл index.php?id=number (для каждого файла свой номер)». Вы хотите отдавать файлы по запросу «index.php?id=number (для каждого файла свой номер)»?
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 19
23.12.2014, 16:53  [ТС]
Здравствуйте!
Да, имел ввиду отдавать файлы по запросу «index.php?id=number (для каждого файла свой номер)».
Не подскажете на коде?

Добавлено через 39 секунд
miketomlin,
Здравствуйте!
Да, имел ввиду отдавать файлы по запросу «index.php?id=number (для каждого файла свой номер)».
Не подскажете на коде?
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
23.12.2014, 17:54
На коде не подскажу. Подскажу, как это можно сделать.

Собственно, как формировать каталог с именами файлов и с ссылками на них в формате index.php?id=number, уже рассказал. А для выдачи, т.е. при запросе с параметром id таким же образом формируете и сортируете массив, после чего либо вычитываете и выдаете файл (по индексу определяете имя файла, а если индекс слишком большой, выдаете сообщение об ошибке вместо контента файла), либо выдаете заголовок Location, указав в нем местоположение и имя файла.

Добавлено через 9 минут
Честно говоря, по прежнему вызывает большое сомнение ваше желание использовать неестественные ссылки на файлы. Если вы хотите сделать что-то вроде фронт-энд-движка, завяжите id на имя файла (без расширения), как вам советовал Виталюска, и проверяйте наличие запрашиваемого файла перед его выводом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2014, 17:54
Помогаю со студенческими работами здесь

Вывод списка файлов из директории с указанием даты создания и размером файла
Доброго времени суток! Помогите решить задание. Нужно вывести на экран список файлов из директории с указанием даты создания и размером...

подключение файлов\директории
собственно, если подключаю файлы, которые находятся на директорию(две, три...неважно) выше, они не подключаются. Пишу все правильно. ...

Подключение файлов в директории
Всем доброго времени суток! Столкнулся с проблемой подключения файлов. Суть такова, есть галерея пользователя, в которую надо подключить...

Поиск файлов в директории
Привет всем, есть такой трабл. С помощью метода scandir я добавляю в массив все файлы, которые хранятся в заданной директории, но при этом...

Определить количество файлов в директории
Какой функцией воспользоваться, что бы узнать кол-во файлов(числом) в директории?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru