Вход
Регистрация
PHP коды
| Подсчёт числа строк в программном проекте
////////////////////////////////////////////////////////// // Рекурсивная функция - спускаемся вниз по каталогу ////////////////////////////////////////////////////////// function scan_dir($dirname) { // Объявляем переменные замены глобальными GLOBAL $extentions, $count; // Открываем текущую директорию $dir = opendir($dirname); // Читаем в цикле директорию while (($file = readdir($dir)) !== false) { // Если файл обрабатываем его содержимое if($file != "." && $file != "..") { // Если имеем дело с файлом - производим в нём замену if(is_file($dirname."/".$file)) { // Извлекаем из имени файла расширение $ext = strrchr($dirname."/".$file, "."); foreach($extentions as $exten) if(preg_match($exten, $ext)) { // Читаем содержимое файла $content = file($dirname."/".$file); // Подсчтываем число файлов $count += count($content); // Удаляем массив unset($content); } } // Если перед нами директория, вызываем рекурсивно // функцию scan_dir if(is_dir($dirname."/".$file)) { scan_dir($dirname."/".$file); } } } // Закрываем директорию closedir($dir); } /* Воспользоваться результатами можно при помощи следующего кода Код вызова функции scan_dir()*/ // Имя корневой директории проекта $dirname = "softtime"; // Массив с расширениями файлов, для которых следует подсчитывать // число строк $extentions = array("#\.php#i"); // $extentions = array("#\.cpp#i","#\.h#i"); // Счётчик строк - глобальная переменная $count = 0; // Вызов функции, осуществляющей рекурсивный спуск по подкаталогам // корневого каталога scan_dir($dirname); // Записываем число строк в переменную $count file_put_contents("test",$count);
Онлайн: 5
Реклама
Наш надёжный хостинг партнёр
Купить рекламу