Автор Тема: Не дайте запутаться.  (Прочитано 2394 раз)

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

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Не дайте запутаться.
« : 30 Января 2003, 07:54:04 »
Вообщем решил второй по счёту свой скриптик написать, да запутался в усмерть. Сейчас 7 утра, а доделать его хочется. Что-то не сходиться, а что именно понять не могу:


$dir_name = "full patch";

$dir = opendir($dir_name);

$file_list = "
    ";

    while ($file_list = readdir($dir))
    // создать массив
    $file_list = array ($file_name = readdir($dir));
    // сортировка
    asort($file_list);

    {
       if (($file_name != ".") && ($file_name != "..")) {
         $file_list .= "
  • $file_name";
         }    
    }

    $file_list .= "
";

closedir($dir);
$today=date("d F Y");
?>

------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Не дайте запутаться.
« Ответ #1 : 30 Января 2003, 09:44:19 »
1.
Цитировать
$file_list = "
    ";

    while ($file_list = readdir($dir))

после начала цикла ты теряешь содержимое переменной $file_list, присваивая ей имя очередного файла

2.
Цитировать
$file_list = array ($file_name = readdir($dir));

аналогично и здесь... если ты хочешь, чтоб в $file_list сформировался html код списка
    файлов определенного каталога, то используй другую перемнную для этого массива, при чем насколько я понимаю записано это должно быть так:

    $file_list="
    • ";
      $file_list2=array();
      while ($file_name=readdir($dir))
      {

         if ($file_name!="." and $file_name!="..")
      $file_list2[]=$file_name;
          }

      $file_list.=implode("
    • ",$file_list2);
      $file_list.="
    ";

    и т.д.

Оффлайн myname

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
Не дайте запутаться.
« Ответ #2 : 30 Января 2003, 20:58:34 »
Всё работает так:


$dir_name = "/home/";

$dir = opendir($dir_name);

$file_list="
  • ";
    $file_list2=array();
    while ($file_name=readdir($dir))
    {

    if ($file_name!="." and $file_name!="..")
    $file_list2[]=$file_name;
    }

    $file_list.=implode("
  • ",$file_list2);
    $file_list.="
";

closedir($dir);
$today=date("d F Y");
?>

Но вот с сортировкой уже не то. Не хочет работать и всё тут. Может я что-то опять не то сделал? Куда втюхнуть строку sort($file_list2); надо?
------------------------------------------
Все мы люди, а людям свойственно ошибаться

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Не дайте запутаться.
« Ответ #3 : 30 Января 2003, 21:07:41 »
Цитировать
втюхнуть строку sort($file_list2); надо?

Перед $file_list.=implode("
  • ",$file_list2);
  • TANSTAAFL

     

    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