PHP实例:开始学习PHP编程(4)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP实例:开始学习PHP编程(4)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:编程学习开始实例
黑客防线网安网讯:  WebjxCom提示:PHP的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。利用这一过程我们又可以学到不少东西。好吧,我们现在开...
  WebjxCom提示:PHP的许多特点与其他软件或者工具有关利用迄今为止我们所学到的PHP知识我们可以试着建立一个简单交互的网站利用这一过程我们又可以学到不少东西。好吧我们现在开始专注于一个典型个人网站的建设。
  
  3.5简单的站内搜索引擎
  
  PHP可以调用外部程序。在Unix环境下我们可以利用程序grep实现一个简单的搜索引擎。我们可以做的稍微复杂一些:使用一个页面既输出一个表单供用户输入搜索字串又输出查询结果。
  
  <?
  
  include("include/common.inc");
  
  $title="Search";
  
  include("include/header.inc");
  
  ?>
  
  <P>
  
  <FORMACTION="<?echo"$PHP_SELF";?>"METHOD="POST">
  
  <INPUTTYPE="text"NAME="searchstr"value="<?echo"$searchstr";?>"
  
  SIZE="20"MAXLENGTH="30">
  
  <INPUTTYPE="submit"VALUE="Search!">
  
  </FORM>
  
  </P>
  
  <?
  
  if(!empty($searchstr))
  
  {
  
  //empty()用来检查查询字串是否为空
  
  //如果不为空,调用grep查询
  
  echo"<HR> ";
  
  //调用grep对所有文件进行大小写非敏感模式的查询
  
  $cmdstr="grep-i$searchstr*";
  
  $fp=popen($cmdstr,"r");//执行命令并输出管道
  
  $myresult=array();//存储查询结果
  
  while($buffer=fgetss($fp,4096))
  
  {
  
  //grep返回这样格式:文件名:匹配字串出现行数
  
  //因此我们利用函数split()分离处理数据
  
  list($fname,$fline)=split(":",$buffer,2);
  
  //我们只输出第一次匹配的结果
  
  if(!defined($myresult[$fname]))
  
  $myresult[$fname]=$fline;
  
  }
  
  //现在我们将结果存储在数组中,下面就可以处理并输出了
  
  if(count($myresult))
  
  {
  
  echo"<OL> ";
  
  while(list($fname,$fline)=each($myresult))
  
  echo"<LI>
  
  <AHREF="$fname">$fname</A>:$fline</LI> ";
  
  echo"</OL> ";
  
  }
  
  else
  
  {
  
  //如果没有查询结果
  
  echo"Sorry.Searchon<B>$searchstr</B>
  
  returnednoresults.<BR> ";
  
  }
  
  pclose($fp);
  
  }
  
  ?>
  
  <?
  
  include("include/footer.inc");
  
  ?>
  
  注释:
  
  PHP_SELF是PHP内建的变量。包含当前文件名。
  
  fgets()按行读取文件,最多4096(指定)字符长度。
  
  fgetss()与fgets()相似,只是解析输出的HTML标记。
  
  split()有一个参数是2,因为我们只需要把输出分成两部分。另外需要省略":"。
  
  each()是一个数组操作函数,用来更方便的遍历整个数组。
  
  popen()、pclose()与fopen()、fclose()的功能很相似,只是增加了管道处理。
  
  请注意以上的代码并不是实现一个搜索引擎的好办法。这只是有助于我们更好学习PHP而举出的一个例子而已。理想的情况是你应该建立一个包含关键字的数据库然后进行搜索。
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17464-1.html
网站维护教程更新时间:2012-09-21 05:19:31  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer