PHP的计数器程序:解决全部可能遇到的问题

<?
function rw_counterfile()
{
$fp=fopen(“counter.txt”,”r+”);
if($fp==NULL) echo “文件处理出错”;
rewind($fp);//指针移到文件头
fseek($fp, 2);//指针向后移2
$point=ftell($fp);//
echo $point.”
;”;//
fputs($fp, xyxy, 2);//写入2个字符
rewind($fp);//
$num=fgets($fp,23);//读出字符串
echo “get:”.$num.”
;”;//
澳门新葡萄京官网首页 ,fclose($fp);
}
rw_counterfile();
?>; 

一般的计数器程序用的执行外部程序函数
exec(),但很多主机空间(包括收费的)拒绝这个危险操作。
我们只好用fread(),fwrite()等文件读写函数,要害在于采用哪种方式fopen()打开文件。试了N次后,证实以下程序是可行,在收费空间上获得验证。

count目录
|—count.php
|—counter.txt
|—0~9的数字GIF图片(0.gif,…,9.gif)
<?
/* 本文件为countconut.php */

$countfile = “count/counter.txt”;

if (!file_exists(“$countfile”)){
$fp=fopen(“$countfile”,”w”);
$num=1;
fputs($fp,$num,8);
fclose($fp);
}
else{
$fp=fopen(“$countfile”,”rw “);
$num=fread($fp,8);
$num ;
rewind($fp);
fputs($fp,$num,8);
fclose($fp);
}

/*假如不用图片显示数字,请将以下直到 ?> 之前的部分,改为 echo
“<font color=red>”.$num.”</font>”;之类*/
$len_str = strlen($num);
for($i=0;$i<$len_str;$i ){
$numbers_exploded = substr($num,$i,1);
$output_str = $output_str . “<img
src=”count/$numbers_exploded.gif”>”;
}
echo $output_str;
?>
使用方法:
例如,在count文件夹外面新建一个test.php。其它位置请修改
$countfile路径。
在test.php要显示的地方直接require一下count.php文件(注重路径)。
<br>
<?php
echo “您是第”;
require(“count/count.php”);
echo “位访客”;
?>
<br>

强调最后一个问题,请设置counter.txt文件可读写,Windows下文件权限为everyone,Linux下至少为444。网上的文件或Linux下的文件权限设置要使用FTP软件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注