Below is the text of the page https://php.com.ua/ru/tips/.htm stored 2008-06-14 by archive.org.ua. The original page over time could change. View as original html

PHP.com.ua : учимся вместе! - шпаргалки. - Кол-во написаного код

[/] - Насколько распространен шаблонизатор Sma... - Что сделать что бы не было проблем с код... - Senior Front-End Web Developer, Kiev... - jQuery, Opera, динамическое пересоздание... - контекстна реклама - Установка PHP на FreeBSD - Разница в работе регулярок локалки и хос... Главная Новости Статьи Шпаргалки Файлы О проекте Форум Футболки FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок. iName.com.ua - регистрация доменных имен и хороший хостинг. Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования. Designclub - Клуб дизайнеров Украины. Регистрация доменов Хостинг Путь: Шпаргалки Шпаргалки Автор: - Azazel Дата публикации - 25.07.2006 Просмотров: - 3638 Кол-во написаного кода в проекте Требования: PHP5+ Небольшой класс для подсчета обьема написаного кода. Писалось за 20 минут и может быть плохо расширяемым, но уже функционирует: [php] class LineCounter { private $total_lines; private $total_files; private $start_path; private $level; private $mask; //start_path - путь к каталогу с которого начинать счетчик //level - глубина проникновения счетчика //mask - маска файлов попадающих под счет public function __construct($start_path, $level, $mask) { $this->start_path = $start_path; $this->level = $level; $this->mask = $mask; } private function countLines($fpath) { $fp = fopen($fpath, "r"); $i = 0; while (!feof($fp)) { fgets($fp); $i++; } return $i; } private function buildFileList() { $file = glob($this->start_path.$this->mask); $full_p = $this->start_path; for ($i = 0; $i < $this->level; $i++) { $full_p .= str_repeat('*/', $i); $file = array_merge($file, glob($full_p.$this->mask)); } return $file; } private function getTotalLines($files_array) { $total_f = 0; foreach ($files_array as $f) { $total += countLines($f); } $this->total_lines = count($files_array); $this->total_files = $total_f; } public function getStat() { $this->getTotalLines($this->buildFileList()); echo "Start path: ".realpath($this->start_path)."
\n"; echo "Total: {$this->total_lines} lines in {$this->total_files} files"; } } [ /php] Применяем следующим образом: посчитать кол-во файлов и строк в текущем и вложеных каталогах с глубиной прониктовения 10 и по маске файла "*.php": [php] $counter = new LineCounter("./", 10, '*.php'); $counter->getStat(); [ /php] Обсудить в ФОРУМе - комментариев (4) Путь: Шпаргалки Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Контакты Design by webFaction Ukrainian PHP Group 2004-2005