background image

   } 
 }
/* 在这里,利用 implode()这个函数的功能,将数据整理好了,一起写入文本文

 

件中 */
/* 这样,对服务器的 I/O 占用就降到了最低点
$data=implode(\"\",$counterData);
/* 打开文本文件,

 

将数据写入 */

$fp=fopen($counterFile,\"w\");
fputs($fp,$data); 
/* 如果需要纪录的数据不在文本里,标志$sign= Flase, 那么就往文本里添加

 

数据 */ 
if

 

(!$sign)

 

{fputs($fp,\"\\n\".

$GLOBALS[\"REQUEST_URI\"].\"|\".\"1\".\"|\");
print(\"1\");
/* 

 

关闭数据文件 */

fclose($fp);
?>
</body>
</html> 

我们已经看到了这段程序的工作过程,也都知道了思路,但如果,每个文件里都这样写,岂不
是太麻烦.

别慌! 我们还有 PHP 提供的强大的 require()功能呢! 我们把 counter.

php  

成函数,使

用就方便许多了。那还等什么,下面就是你所要的函数:
 
counter.inc <?

php

 

function Counter()
{

 

  $counterFile=\"/freespace/sucre/public_html/counter.dat\";

 

  $counterData=file($counterFile);

 

  $sign=False;

 

  for($i=0;$i<=count($counterData)-1;$i++) 

 

   {

 

    $varArray=explode(\"|\",$counterData[$i]); 

 

    if ($varArray[0]==$GLOBALS[\"REQUEST_URI\"]) 

 

     { 

 

       $varArray[1]++; 

 

       print($varArray[1]);

 

       $counterData[$i]=implode(\"|\", $varArray);

 

       $sign=True; break;

 

     }

 

   }

 

  $data=implode(\"\",$counterData);