За последние 24 часа нас посетили 18634 программиста и 1703 робота. Сейчас ищут 917 программистов ...

Вывод списка папок

Тема в разделе "PHP для новичков", создана пользователем kentastik77, 13 дек 2011.

  1. kentastik77

    kentastik77 Активный пользователь

    С нами с:
    21 мар 2010
    Сообщения:
    89
    Симпатии:
    0
    Друзья мои, как вывести всё что в каталоге понятно, как вывести только папки?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Проверять в цикле на is_dir(), например.
     
  3. kentastik77

    kentastik77 Активный пользователь

    С нами с:
    21 мар 2010
    Сообщения:
    89
    Симпатии:
    0
    угу, спасибо, я спросил и сразу нашел ответ как. :) а теперь продолжение вопроса.
    Код (Text):
    1. <?php
    2.     // имя папки, что будем читать
    3. $papka = "php";
    4.  
    5.     // если каталог читаемый
    6. if ( is_readable ($papka)) {
    7.     // открываем его
    8. $handle = opendir ($papka);
    9.     // читаем его
    10. while ( $file = readdir ($handle)) {
    11. if ($file != "." and $file != ".." ) {
    12.     // читаем только файлы
    13. if ( is_file ($papka."/". $file)) {
    14.     // загоняем в массив
    15. $ARR_file[] = $file;
    16. }
    17.     // читаем только вложенные папки
    18. if ( is_dir ($papka."/". $file)) {
    19.     // загоняем в массив
    20. $ARR_dir[] = $file;
    21. }
    22. }
    23. }
    24.     // очищаем кэш
    25. clearstatcache ();
    26.     // закрываем процесс чтения каталога
    27. closedir ($handle);
    28. }
    29. else {
    30. print $papka." не читаема";
    31. }
    32.     // получилось два массива $ARR_file[] - здесь файлы $ARR_dir[] - здесь папки
    33. print "Папка ". $papka.", в ней файлы: ";
    34. print "<pre>"; print_r ($ARR_file); print "</pre>";
    35. print "Папка ". $papka.", в ней папки: ";
    36. print "<pre>"; print_r ($ARR_dir); print "</pre>";
    37. ?>
    такой вот код нашел. работает отлично. А как сделать чтобы он рылся и в корневом каталоге? то есть в переменную papka что записать? "/" = не работает :)
     
  4. kentastik77

    kentastik77 Активный пользователь

    С нами с:
    21 мар 2010
    Сообщения:
    89
    Симпатии:
    0
    блин. сам спросил, сам ответил. /var/www/
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если ты имеешь, чтобы он рылся в той же папке, где он сам (этот скрипт) находится, то можешь написать так:
    PHP:
    1. <?php
    2. // ...
    3. $papka = dirname(__FILE__);
     
  6. kentastik77

    kentastik77 Активный пользователь

    С нами с:
    21 мар 2010
    Сообщения:
    89
    Симпатии:
    0
    sobachnik, спасибо. я сегодня не выспался элементарные вещи не могу сообразить с первого раза :)