Автор Тема: файлы в директории  (Прочитано 3703 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sky

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
файлы в директории
« : 28 Марта 2002, 11:58:34 »
Привет!
Как можно выывести в виде ссылок названия файлов без расширения из определенной директории?
К примеру, папка dir содержит файлы:
1.txt, 2.txt, 3.txt
Нужно вывести
http:// 1 , http:// 2 , http:// 3
Sit venio verbo...

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
файлы в директории
« Ответ #1 : 28 Марта 2002, 12:15:02 »

$handle 
opendir(\'/home/my/dir\'); 
while (false !== ($file = readdir($handle))) { 
    if ($file != "." && $file != ".." && substr($file,-4)==".txt") { 
        echo "<a href=\\"/dir/$file\\">$file</a>, "; 
    } 
}
closedir($handle); 
ну, будем исповедоваться?

Оффлайн sky

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
файлы в директории
« Ответ #2 : 28 Марта 2002, 14:44:03 »
Выводит только с расширением...
а если сделать так:

$handle 
opendir(\'test/\');
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && substr($file,-4)==".txt") {
        $rez = substr ($file,-4)==".txt";
        echo "<a href=\\"test/$file\\">$rez</a>, ";
    }
}
closedir($handle);


выводит:
http:// 1 , http:// 1 , http:// 1
Sit venio verbo...

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
файлы в директории
« Ответ #3 : 28 Марта 2002, 17:22:04 »
Ну и правильно выводит :))
Ты ж переменной $rez присваиваешь значение логического выражения substr ($file,-4)==".txt" (т.е. единичку)

тебе надо :
   $rez substr ($file,0,-4); 
Рыжая бестия

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
файлы в директории
« Ответ #4 : 01 Апреля 2002, 23:03:57 »
можно еще и ereg использовать чтоб отсечь лишние файлы:
 if ($file != "." && $file != ".." && !ereg(".inc$|.php3$", $file))

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
файлы в директории
« Ответ #5 : 01 Апреля 2002, 23:21:52 »
Цитировать
можно еще и ereg использовать чтоб отсечь лишние файлы:

можно, но не нужно
ну, будем исповедоваться?

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
файлы в директории
« Ответ #6 : 01 Апреля 2002, 23:39:19 »
Чем хуже это двухкратного substr($file,-4)==".txt") :

while (false!==($file = readdir($handle))) {
if ($file != "." && $file != ".." && ereg(".txt$", $file)) {
echo "$file";
}
}
« Последнее редактирование: 01 Апреля 2002, 23:55:59 от Covex »

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
файлы в директории
« Ответ #7 : 02 Апреля 2002, 00:36:20 »
Covex
тогда, что работает быстрее ereg или substr?
можно протестировать "ab" и выяснить, какой из исходников работает быстрее.
с уважением,
магистр белой магии.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28