Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция scandir
 
 автор: ZeeG   (17.08.2007 в 19:33)   письмо автору
 
 

Всем привет.
У меня задача посчитать кол-во файлов в директории. Использую фун-ю scandir.

<?php
$dir 
"dir";
$dh  opendir($dir);
while (
false !== ($filename readdir($dh))) {
    
$files[] = $filename;
}

sort($files);
print_r($files);
echo 
count($files);
?>

Получаем ответ
Array
(
[0] => .
[1] => ..
[2] => anotherpage.php
[3] => catalog.php
[4] => detail.php
[5] => index.php
[6] => indexx.php
)
всего файлов - 7 шт., но в реале их 5. Как это понимать. Что-то не так сделал? И как получить точное кол-во файлов в дир-ии?
Спасибо

   
 
 автор: Yuriev   (17.08.2007 в 20:41)   письмо автору
 
   для: ZeeG   (17.08.2007 в 19:33)
 

<?php
$dir = "dir";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
if ($filename == '.' or $filename == '..') continue;
$files[] = $filename;
}

sort($files);
print_r($files);
echo count($files);
?>

   
 
 автор: Sobachka   (17.08.2007 в 21:15)   письмо автору
 
   для: ZeeG   (17.08.2007 в 19:33)
 

[0] => .
[1] => ..

   
 
 автор: compress2000   (17.08.2007 в 21:21)   письмо автору
 
   для: ZeeG   (17.08.2007 в 19:33)
 

+ На всякий случай отсекай файл && $filename != "Thumbs.db"

Данный файл обычно крепится к папкам, где есть картинки, изображения...

   
 
 автор: Nemezis   (17.08.2007 в 21:51)   письмо автору
 
   для: ZeeG   (17.08.2007 в 19:33)
 

Если в папке только файлы, то можно сделать так:

<?php
echo count(scandir('dir'))-2;
?>

   
 
 автор: ZeeG   (17.08.2007 в 22:13)   письмо автору
 
   для: Nemezis   (17.08.2007 в 21:51)
 

Спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования