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

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

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Вывод названия файлов директории
« : 08 Августа 2002, 12:43:07 »
Делаю так

opendir (DIR, ".") or die "Cannot open current directory";
@list=join ("::", readdir(DIR));
closedir DIR;
for ($i=0;$i<@list;$i++)
  {
  ($name)=split(/::/,@list[$i]);
  print "$name

";
  }

Это последний вариант, печатает или сплошняком или наоборот ничего, пробовал также glob, но она возвращает с полным путём тоже самое. Или проблема в том что не правильно в массив забиваю или достаю.... Надо показать просто директорию. Но что бы уже из массива, а не из

print join ("
", glob(\'*\'));

Помогите!

Оффлайн lalex

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод названия файлов директории
« Ответ #1 : 08 Августа 2002, 13:17:49 »
Попробуй так:
opendir (DIR, ".") or die "Cannot open current directory";
@files=readdir DIR;
close DIR;
foreach (@files) {print "$_

" unless -d $_}

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Вывод названия файлов директории
« Ответ #2 : 08 Августа 2002, 16:08:33 »
Вот сделал скрипт, выводит заданную директорию с возможностью грохнуть файлы, может кому понадобится:


#!/usr/local/bin/perl

$dir="c:/usr/local/server-ini/www/upload";

$script="cgi-bin/dir.pl";

if ($ENV{\'REQUEST_METHOD\'} eq "POST")
    {
      read(STDIN, $bufer, $ENV{\'CONTENT_LENGTH\'});
    }
elsif ($ENV{\'REQUEST_METHOD\'} eq "GET")
    {
      $bufer=$ENV{\'QUERY_STRING\'};
    }

@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
      {
        ($name, $value) = split(/=/, $pair);
        $name =~ tr/+/ /;
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $name =~ s///g;
        $name =~ s/<([^>]|\\n)*>//g;
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ s///g;
        $input{$name} = $value;
      }

$del=$input{del};

print "Content-type: text/html; charset=windows-1251\\n\\n";

if($del)
{
unlink ("$dir/$del");
print "";
print "";
print "";
print "

!

";
print "";
exit;
}
opendir (DIR, "$dir/.") or die "Cannot open current directory";
@files=readdir DIR;
close DIR;
for($i=2;$i<@files;$i++)
{
print " • File: $files[$i] | Delete
"
}

 

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