За последние 24 часа нас посетили 29542 программиста и 1815 роботов. Сейчас ищут 815 программистов ...

грамотный вывод списка файлов

Тема в разделе "PHP для новичков", создана пользователем V1T, 8 окт 2008.

  1. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Здравствуйте, у меня такой вопрос, хочу сделать вывод списка всех файлов, которые находятся в каталоге, если не всех, то хотябы с определённым расширением, вот мой код

    Код (Text):
    1. $list_files=glob("$namedir"."/"."*");
    2. foreach ($list_files as $k=>$v)
    3. echo "$k-".str_replace(dirname($namedir)."/","",$v)."\n<br><hr>";
    Только выводится это вот так

    Файлы каталога:
    0-mydir/11.html

    --------------------------------------------------------------------------------
    1-mydir/111.html

    --------------------------------------------------------------------------------
    2-mydir/hello.html

    --------------------------------------------------------------------------------
    3-mydir/kjkjl.html

    --------------------------------------------------------------------------------
    4-mydir/ыы.txt

    Как сделать чтобы было вот так(без директории)? 11.html
    Даже пробывал str_replace, но ничего как видите
     
  2. Vitas

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

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
  3. Nick0

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

    С нами с:
    26 июл 2008
    Сообщения:
    55
    Симпатии:
    0
    $dir = 'mydir/';
    $files1 = scandir($dir);
    print_r($files1);
    возвращает массив файлов и папок
    вовод будет таким :
    [0] .
    [1] ..
    [2] 11.html
    [3] 111.html
    ....
    [n] ыы.txt
     
  4. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Nick0 Вот именно, "." и ".." правильно будет в самом начале?, эт неоч красиво выглядит, когда видно эти . и ..
     
  5. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Vitas, спасибо, всё получилось, вот мой окончательный вариант:

    $list_files=glob("$namedir"."/"."*");
    foreach ($list_files as $k=>$v)
    echo "$k-".basename("$namedir"."/"."$v<br>");
     
  6. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Как правильно вывести размеры файлов этих? Что то неполучается, я новичок в пыхе просто. Хотелось чтобы получилось сделать ещё и рядом его размер :( Спасибо
    echo "$k-" . basename("$namedir"."/"."$v<br>");
    echo filesize($v);
     
  7. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Например так:
    PHP:
    1. <?php
    2. foreach (glob($namedir . '/*') as $k => $v)
    3.     echo "$k-" . basename("$namedir/$v") . ' filesize: ' . filesize($v) . '<br>';
    4. ?>
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    PHP:
    1. if ($name!=='.' && $name!=='..')
     
  9. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Mr.M.I.T.
    Там не будет "." и "..".
     
  10. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    уже что то)) Хоть вот такое получается:

    Файлы каталога:
    0-11111.html filesize: 6
    1-11111.php filesize: 6
    2-ndasfsafsafa.php filesize: 6
    3-лдждж.txt filesize: 6

    Что это может значить , что везде цмфра 6?
     
  11. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Кстати, у меня так тоже получалось, когда так сделать пробывал, тут что то не то
     
  12. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Размер файла в байтах.
     
  13. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    при scandir'е или readdir'е будут
     
  14. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Несомненно, но в окончательном варианте glob.
     
  15. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Да точки будут, Mr.M.I.T. прав, уже проверил
    Точно, вот я тупанул, это ж в байтах, а я всё ожидаю что 1КБ появится :lol:
     
  16. Vitas

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

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    А-а-а-а! Включайте мозг, товарищи!
     
  17. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ПревеД! =))