统计代码行数和过滤注释
May 25, 2016 pm 05:08 PM#!/usr/local/bin/php -f <?php /// 获取命令行参数 $fileName = $argv[1]; if ( ! is_dir( $fileName ) && ! file_exists( $fileName ) ) { echo "Usage: ".$argv[0]." [path|file]\n"; exit; } $disableFile = "DMO|test_|FileZip|jpgraph|smarty|tourdata|demo_|Frame|socket.php|IDNA2.php|timezone.php|config.db.php|config.php"; $disableFile .= "|main1.php|obj.php|interface.php|hmac.php|php-excel.class.php|cfg.class.php|global.php|gconfig.php|main2.php|sinfo.php"; $disableFile .= "|main.php|index.php|mod_tpl.php|redis.lua|^_"; $disableDir = "cache$|templates$|templates_c$|adodb$|smarty$|mailer$|biz$|test$"; $ext = "\.php$|\.c$|\.h$|\.go$|\.lua$"; if ( is_dir( $fileName ) ) { getDir( $fileName ); } else { echoCode( $fileName ); } function echoCode( $fileName ) { $fileLines = file( $fileName ); $lineCount = 0; foreach( $fileLines AS $line ) { $line = str_replace( "\t", " ", $line ); $tr = trim( $line ); if ( preg_match( "/\\*|^\*|^ {1,}\*|\/\*|\*\/|^ {1,}\/\/|^\/\//", $line ) || $tr === "" ) { continue; } $lineCount++; $line = str_replace( "\r", "", $line ); $line = str_replace( "\n", "", $line ); echo "".$line."\n"; } echo "\n"; } function getDir( $path ) { global $disableFile, $disableDir, $ext; $dDirs = dir( $path ); while ( false !== ( $fileDirs = $dDirs->read() ) ) { $sCodeFile = $path . "/".$fileDirs; if ( $fileDirs == "." || $fileDirs == ".." || preg_match("/".$disableDir."/", $fileDirs ) ) { continue; } if ( ! is_dir( $sCodeFile ) && ! file_exists( $sCodeFile ) ) { continue; } if ( preg_match( "/".$disableFile."/", $fileDirs ) || ( ! is_dir( $sCodeFile ) && ! preg_match( "/".$ext."/", $fileDirs ) ) ) { continue; } if ( is_dir( $sCodeFile ) ) { getDir( $sCodeFile ); continue; } else { //echo $sCodeFile."\n"; echo iconv( "UTF-8", "GBK", "文件名: ").$fileDirs."\n"; //echo "文件名: ".$fileDirs."\n"; echoCode( $sCodeFile ); } } } ?>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7286
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29

