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

一般的计数器程序用的执行外部程序函数 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 "".$num."";之类*/

$len_str = strlen($num);

for($i=0;$i

$numbers_exploded = substr($num,$i,1);

$output_str = $output_str . "%24numbers_exploded.gif";

}

echo $output_str;

?>

使用方法:

例如,在count文件夹外面新建一个test.php。其它位置请修改 $countfile路径。

在test.php要显示的地方直接require一下count.php文件(注重路径)。

echo "您是第";

require("count/count.php");

echo "位访客";

?>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值