一般的计数器程序用的执行外部程序函数 exec(),但很多主机空间(包括收费的)拒绝这个危险操作。
我们只好用fread(),fwrite()等文件读写函数,关键在于采用哪种方式fopen()打开文件。试了N次后,证明以下程序是可行,在收费空间上获得验证。
count目录
|---count.php
|---counter.txt
|---0~9的数字GIF图片(0.gif,...,9.gif)
使用方法:
例如,在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软件。
我们只好用fread(),fwrite()等文件读写函数,关键在于采用哪种方式fopen()打开文件。试了N次后,证明以下程序是可行,在收费空间上获得验证。
count目录
|---count.php
|---counter.txt
|---0~9的数字GIF图片(0.gif,...,9.gif)
1
<?
2
/*本文件为count\conut.php*/
3
4
$countfile="count/counter.txt";
5
6
if(!file_exists("$countfile")){
7
$fp=fopen("$countfile","w");
8
$num=1;
9
fputs($fp,$num,8);
10
fclose($fp);
11
}
12
else{
13
$fp=fopen("$countfile","rw+");
14
$num=fread($fp,8);
15
$num++;
16
rewind($fp);
17
fputs($fp,$num,8);
18
fclose($fp);
19
}
20
21
/*如果不用图片显示数字,请将以下直到?>之前的部分,改为echo"<fontcolor=red>".$num."</font>";之类*/
22
$len_str=strlen($num);
23
for($i=0;$i<$len_str;$i++){
24
$numbers_exploded=substr($num,$i,1);
25
$output_str=$output_str."<imgsrc=\"count/$numbers_exploded.gif\">";
26
}
27
echo$output_str;
28
?>
<?2
/*本文件为count\conut.php*/3

4
$countfile="count/counter.txt";5

6
if(!file_exists("$countfile")){7
$fp=fopen("$countfile","w");8
$num=1;9
fputs($fp,$num,8);10
fclose($fp);11
}12
else{13
$fp=fopen("$countfile","rw+");14
$num=fread($fp,8);15
$num++;16
rewind($fp);17
fputs($fp,$num,8);18
fclose($fp);19
}20

21
/*如果不用图片显示数字,请将以下直到?>之前的部分,改为echo"<fontcolor=red>".$num."</font>";之类*/22
$len_str=strlen($num);23
for($i=0;$i<$len_str;$i++){24
$numbers_exploded=substr($num,$i,1);25
$output_str=$output_str."<imgsrc=\"count/$numbers_exploded.gif\">";26
}27
echo$output_str;28
?>
使用方法:
例如,在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软件。
博客介绍了因主机空间拒绝exec()函数,采用fread()、fwrite()等文件读写函数实现计数器程序。给出了count目录结构及count.php代码,说明了使用方法,即在test.php中require count.php。同时强调要设置counter.txt文件可读写,Windows和Linux下有不同权限要求。
186

被折叠的 条评论
为什么被折叠?



