栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP批量获取源码行数及获取文件源代码

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP批量获取源码行数及获取文件源代码

最近提交软著资料,有一项是让你填写软件源码行数,以及将源代码放置在文件中提交给他们。

相信大家都懒得一个个文件去打开复制吧,还有计算源码行数也是挺麻烦的事情,那么我就找了网上源码,加上自己修改,下面代码就能解决这些问题。

获取源码行数:

  //行数

  $line=0;

  //需要统计的文件类型

  $arr=array("php","html","css","js","tpl","wxml","jizhi");

  //过滤的文件夹

  $filtering=array("wamplangues","ckeditor","wampthemes","wordpress","dede","thinkphp");

  //遍历目录

  functiongetsource($dirname){

  global$arr;

  global$filtering;

  global$line;

  //扫描目录下的文件和目录

  $dirArr=scandir($dirname);

  //遍历目录

  foreach($dirArras$v){

  //组合文件或文件夹的路径

  $filename=$dirname.'\\'.$v;

  //.表示本层目录,..表示上层目录

  if($v!='.'&&$v!='..'){

  //判断是不是一个目录,是的话递归调用

  if(is_dir($filename)){

  //过滤不需要统计的目录

  if(in_array($v,$filtering)){

  continue;

  }

  getsource($filename);

  }else{

  //截取后缀名

  $extension=pathinfo($v,PATHINFO_EXTENSION);

  //比较后缀名是否在统计的文件类型里

  if(in_array($extension,$arr)){

  //打开文件

  $fp=fopen($filename,'r');

  //读取行数

  while(stream_get_line($fp,8192,"\n")){

  $line++;

  }

  //关闭文件

  fclose($fp);

  }

  }

  }

  }

  }

  //执行方法,参数为项目路径

  getsource("C:\Users\Administrator\Desktop\developer\jizhicms\jizhicms");

  //打印行数

  echo$line;

获取软件源代码:

  //行数

  $line=0;

  $webpath="C:\Users\Administrator\Desktop\developer\jizhicms\jizhicms";

  //需要统计的文件类型

  $arr=array("php","html","css","js","tpl","wxml","jizhi");

  //过滤的文件夹

  $filtering=array("wamplangues","ckeditor","wampthemes","wordpress","dede","thinkphp");

  //遍历目录

  functiongetsource($dirname){

  global$arr;

  global$filtering;

  global$line;

  global$webpath;

  //扫描目录下的文件和目录

  $dirArr=scandir($dirname);

  //遍历目录

  foreach($dirArras$v){

  //组合文件或文件夹的路径

  $filename=$dirname.'\\'.$v;

  //.表示本层目录,..表示上层目录

  if($v!='.'&&$v!='..'){

  //判断是不是一个目录,是的话递归调用

  if(is_dir($filename)){

  //过滤不需要统计的目录

  if(in_array($v,$filtering)){

  continue;

  }

  getsource($filename);

  }else{

  //截取后缀名

  $extension=pathinfo($v,PATHINFO_EXTENSION);

  //比较后缀名是否在统计的文件类型里

  if(in_array($extension,$arr)){

  $res=file_get_contents($filename);

  		$res=explode("\n",$res);

  		echo'//文件名:'.str_replace($webpath.'\\','',$filename).'代码如下:<br>';

  		foreach($resas$l){

  			if($l&&trim($l)){

  							

  			$line++;

  			$l=htmlspecialchars(trim($l),ENT_QUOTES);

  			if(version_compare(PHP_VERSION,'7.4','>=')){

  				$l=addslashes($l);

  			}else{

  				if(!get_magic_quotes_gpc())$value=addslashes($l);

  			}				

  			echo$l.'<br>';

  			

  			

  			

  			}

  		}

  					

  }

  }

  }

  }

  }

  //执行方法,参数为项目路径

  getsource($webpath);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778892.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号