Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как посчитать количество папок?
Форумы портала PHP.SU » PHP » Программирование на PHP » Как посчитать количество папок?

Страниц (1): [1]
 

1. idimka - 16 Июня, 2007 - 20:51:00 - перейти к сообщению
Нужен код подсчета количества папок.
В данный момент этот код выводит:
1
1
1
...
А мне надо:
1
2
3
...

Именно подсчет папок!

Помогите, пожалуйста.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $dirname = '../proba';
  5. scan_dir($dirname);
  6.  
  7.    function scan_dir($dirname)
  8.    {
  9.      // Открываем текущую директорию
  10.      $dir = opendir($dirname);
  11.      // Читаем в цикле директорию
  12.      while (($file = readdir($dir)) !== false)
  13.      {
  14.  // Если это не родительская директория и не текущая директория, то
  15.        if($file != "." && $file != "..")
  16.        {
  17.  
  18.          if(is_dir($dirname."/".$file))//если это директоиия
  19.          {
  20.            $count = count ($dirname."/".$file);
  21.            echo $count.'<br>';//почему-то на этом форуме не выводится штмл-тег бр
  22.            scan_dir($dirname."/".$file);//продолжать скнарирование др. директорий
  23.  
  24.          }
  25.  
  26.          if(is_file($dirname."/".$file))//если это файл
  27.          {
  28.  
  29.  
  30.          }
  31.        }
  32.      }
  33. // Закрываем директорию
  34.      closedir($dir);
  35.    }
  36. ?>
  37.  
2. valenok - 16 Июня, 2007 - 21:31:34 - перейти к сообщению
count -- Посчитать количество элементов массива или количество свойств объекта

а вы что считаете?
3. idimka - 16 Июня, 2007 - 21:42:19 - перейти к сообщению
считаю папки. а чем тогда считать надо?
4. valenok - 17 Июня, 2007 - 06:26:01 - перейти к сообщению
$count = count ($dirname."/".$file);
что вы передаёте в функцию и что эта фунция делает?
5. idimka - 17 Июня, 2007 - 14:45:34 - перейти к сообщению
пытаюсь countОМ() засечь открытие папок. когда папка открывается (а за это у меня отвечает $dirname."/".$file) count должен это посчитать и передать в переменую $count.
предполагаю, что надо не $dirname."/".$file передавать. А что еще туда поместить такое, отвечающее за открытие папки, не знаю.
Я этот каунт крутил, крутил, в итоге что-то не выдающее ошибку у меня получилось. но работает совершенно не так как надо.
Понимаю, вы хотите, чтобы я своей головой до этого дошел, это правильно, это полезно.
Я просто имею мизер знаний в php. Решил пойти по пути познания его на практике, просто надо срочно сделать одну не очень сложную штуку, а потом уже углублятся.
6. valenok - 17 Июня, 2007 - 15:24:15 - перейти к сообщению
$dirname."/".$file = "folder/sub" это строка, и низачто она не отвечает.
Цитата:
пытаюсь countОМ() засечь открытие папок
подскажите пожалуйста что делает count

Цитата:
засечь открытие папок
что такое "открытие" папок и что в вашем коде их открывает?

Цитата:
Понимаю, вы хотите, чтобы я своей головой до этого дошел
меня если честно совсем не волнует кто и чем думает, но логику программирования я объяснять не умею.

резюме:
узнайте что делает функция count()
выучите определение этой функции кое приводится на оф. сайте php
и объясните собственными словами что именно делает эта функция, на уровне дет. сада
7. UserID - 17 Июня, 2007 - 16:44:13 - перейти к сообщению
valenok, ты замучал его(или её) уже Улыбка

Чего проще проверять так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $dir_amount = 0;
  3. if(is_dir($dir))
  4. {
  5.     $dir_amount++;
  6. }
  7.  


Таким образом в $dir_amount будет кол-во папок.

 

Powered by ExBB FM 1.0 RC1