简单PHP图像计数器实现
Posted royal_coffee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单PHP图像计数器实现相关的知识,希望对你有一定的参考价值。
转自ChinaLab php教程中的程序!
图像计数器
所需文件:
exa3-5.php // 主调用文件
exa3-5.inc // 计数函数
exa3-5.dat // 数据记录文件
img/ // 记数图像文件夹,内有文件0.gif ~ 9.gif
详细代码如下:
exa3-5.php
<?
php
require ( " exa3-5.inc " );
?>
< html >
< head >< title > 我的计数器 </ title ></ head >
< body >
< p > 欢迎进入我的网站 </ p >
您是本站第 <? php counter(); ?> 位访客 !< br >
</ body >
</ html >
require ( " exa3-5.inc " );
?>
< html >
< head >< title > 我的计数器 </ title ></ head >
< body >
< p > 欢迎进入我的网站 </ p >
您是本站第 <? php counter(); ?> 位访客 !< br >
</ body >
</ html >
exa3-5.inc
<?
php
function counter(){
$max_len = 8 ;
$CounterFile = " exa3-5.dat " ;
if ( ! file_exists ( $CounterFile )){
$Counter = 0 ;
$cf = fopen ( $CounterFile , " w " );
flock ( $cf , 3 );
fputs ( $cf , " 0 " );
fclose ( $cf );
}
else {
$cf = fopen ( $CounterFile , " r " );
flock ( $cf , 3 );
$Counter = trim ( fgets ( $cf , $max_len ));
fclose ( $cf );
}
if ( session_is_registered ( " in " ) == false ){
$Counter ++ ;
$cf = fopen ( $CounterFile , " w " );
flock ( $cf , 3 );
// 1 、表示设定锁住档案可以允许别的行程读取;
// 2 、表示只有该行程可以写入档案;
// 3 、表示读写均锁住;
// 4 、不锁住区块 (block)。
fputs ( $cf , $Counter );
}
$Counter_len = strlen ( $Counter );
for ( $i = 1 ; $i <= ( $max_len - $Counter_len ); $i ++ ){
echo " <img src='img/0.gif'> " ;
}
for ( $i = 1 ; $i <= $Counter_len ; $i ++ ){
echo " <img src='img/ " . substr ( $Counter , $i - 1 , 1 ) . " .gif'> " ;
}
}
?>
function counter(){
$max_len = 8 ;
$CounterFile = " exa3-5.dat " ;
if ( ! file_exists ( $CounterFile )){
$Counter = 0 ;
$cf = fopen ( $CounterFile , " w " );
flock ( $cf , 3 );
fputs ( $cf , " 0 " );
fclose ( $cf );
}
else {
$cf = fopen ( $CounterFile , " r " );
flock ( $cf , 3 );
$Counter = trim ( fgets ( $cf , $max_len ));
fclose ( $cf );
}
if ( session_is_registered ( " in " ) == false ){
$Counter ++ ;
$cf = fopen ( $CounterFile , " w " );
flock ( $cf , 3 );
// 1 、表示设定锁住档案可以允许别的行程读取;
// 2 、表示只有该行程可以写入档案;
// 3 、表示读写均锁住;
// 4 、不锁住区块 (block)。
fputs ( $cf , $Counter );
}
$Counter_len = strlen ( $Counter );
for ( $i = 1 ; $i <= ( $max_len - $Counter_len ); $i ++ ){
echo " <img src='img/0.gif'> " ;
}
for ( $i = 1 ; $i <= $Counter_len ; $i ++ ){
echo " <img src='img/ " . substr ( $Counter , $i - 1 , 1 ) . " .gif'> " ;
}
}
?>
以上是关于简单PHP图像计数器实现的主要内容,如果未能解决你的问题,请参考以下文章