php网站计数器( 二 )


注意:如果在你的测试过程中,该程序末能正常工作,请查看你的PHP配置文件(PHP3为php3.ini,PHP4为php.in)有没有设置好 。因为本程序需要您的PHP配置文件作如下的设置:
首先,用NotePad打开你的php3.ini或是php.ini文件,查看一下[mail function]有没有设置好,默认的情况如下所示:
SMTP = localhost
sendmail_from = me@localhost.com
给SMTP设置SMTP服务器,最好是你当地的SMTP服务器,我这里以21cn的SMTP服务器作为例子,然后,在sendmail_from处填上你的E-MAIL地址,例如可以改成这样:
SMTP = smtp.21cn.com
sendmail_from = pert@21cn.com
修改后不要忘了重启Apache,IIS或PWS服务哦.

5.7 简单的站内搜索引擎
PHP可以调用外部程序 。在Unix环境下我们可以利用程序grep实现一个简单的搜索引擎 。我们可以做的稍微复杂一些:使用一个页面既输出一个表单供用户输入搜索字串又输出查询结果 。
include("include/common.inc");
php网站计数器 - 1 - 我们 = "Search";
include("include/header.inc");
?>

" METHOD="POST">
"
SIZE="20" MAXLENGTH="30">




if ( ! empty() )
{
// empty()用来检查查询字串是否为空
// 如果不为空,调用grep查询
echo "n";
// 调用grep对所有文件进行大小写非敏感模式的查询
= "grep -i*";
Resource id #13 = popen( , "r" ); // 执行命令并输出管道
= array(); // 存储查询结果
while(= fgetss (Resource id #13, 4096))
{
// grep返回这样格式: 文件名:匹配字串出现行数
// 因此我们利用函数split()分离处理数据
list(php网站计数器, ) = split(":",, 2);
// 我们只输出第一次匹配的结果
if ( !defined())
= ;
}
// 现在我们将结果存储在数组中,下面就可以处理并输出了
if ( count() )
{
echo "
    n";
    while(list(php网站计数器,) = each())
    echo "

  1. php网站计数器 :
  2. n";
    echo "
n";
}
else
{
// 如果没有查询结果
echo "Sorry. Search on
returned no results.
n";
}
pclose(Resource id #13);
}
?>
include("include/footer.inc");
?>

注释:
PHP_SELF是PHP内建的变量 。包含当前文件名 。
fgets()按行读取文件,最多4096(指定)字符长度 。
fgetss()与fgets()相似,只是解析输出的HTML标记 。
split()有一个参数是2,因为我们只需要把输出分成两部分 。另外需要省略":" 。
each()是一个数组操作函数,用来更方便的遍历整个数组 。
popen()、pclose()与fopen()、fclose()的功能很相似,只是增加了管道处理 。
请注意以上的代码并不是实现一个搜索引擎的好办法 。这只是有助于我们更好学习PHP而举出的一个例子而已 。理想的情况是你应该建立一个包含关键字的数据库然后进行搜索 。


以上就是php网站计数器,希望大家喜欢,请继续关注我们 。

推荐阅读