Вход Регистрация
* -=(C)DRU987=- (Dev)

Подсчёт числа строк в программном проекте

  1. //////////////////////////////////////////////////////////
  2. // Рекурсивная функция - спускаемся вниз по каталогу
  3. //////////////////////////////////////////////////////////
  4. function scan_dir($dirname)
  5. {
  6. // Объявляем переменные замены глобальными
  7. GLOBAL $extentions, $count;
  8. // Открываем текущую директорию
  9. $dir = opendir($dirname);
  10. // Читаем в цикле директорию
  11. while (($file = readdir($dir)) !== false)
  12. {
  13. // Если файл обрабатываем его содержимое
  14. if($file != "." && $file != "..")
  15. {
  16. // Если имеем дело с файлом - производим в нём замену
  17. if(is_file($dirname."/".$file))
  18. {
  19. // Извлекаем из имени файла расширение
  20. $ext = strrchr($dirname."/".$file, ".");
  21. foreach($extentions as $exten)
  22. if(preg_match($exten, $ext))
  23. {
  24. // Читаем содержимое файла
  25. $content = file($dirname."/".$file);
  26. // Подсчтываем число файлов
  27. $count += count($content);
  28. // Удаляем массив
  29. unset($content);
  30. }
  31. }
  32. // Если перед нами директория, вызываем рекурсивно
  33. // функцию scan_dir
  34. if(is_dir($dirname."/".$file))
  35. {
  36. scan_dir($dirname."/".$file);
  37. }
  38. }
  39. }
  40. // Закрываем директорию
  41. closedir($dir);
  42. }
  43. /*
  44. Воспользоваться результатами можно при помощи следующего кода
  45.  
  46. Код вызова функции scan_dir()*/
  47.  
  48. // Имя корневой директории проекта
  49. $dirname = "softtime";
  50. // Массив с расширениями файлов, для которых следует подсчитывать
  51. // число строк
  52. $extentions = array("#\.php#i");
  53. // $extentions = array("#\.cpp#i","#\.h#i");
  54. // Счётчик строк - глобальная переменная
  55. $count = 0;
  56. // Вызов функции, осуществляющей рекурсивный спуск по подкаталогам
  57. // корневого каталога
  58. scan_dir($dirname);
  59. // Записываем число строк в переменную $count
  60. file_put_contents("test",$count);
» Описание: Функция предназначена для подсчёта числа строк в программных проектах, состоящих из множества вложенных директорий. Конечно, число строк не может свидетельствовать в полной мере о затраченных усилиях и времени на программный проект, но является важным показателем в оценке сложности проекта.
» Время добавления: 4 Янв 2015 в 17:43
» Посмотров: 1347
» textarea
» Рейтинг: [+0 | -0]
Комментарии [0]
Онлайн: 1
Реклама