一个多用户的文本计数器

今天有位学弟要我给他一个网页计数器,随便写了一个,还请赐教!

<?php
// 多用户计数器
// Install:
// mkdir counter
// chmod 777 counter
// Usage:
// <SCRIPT src="http://www.YOURHOST.com/counter.php?user=YOURNAME&color=COLOR&size=SIZE&face=FACE"></SCRIPT>
// eg:
// <SCRIPT src="http://www.csdn.com/counter.php?user=ljcao&color=0000FF&size=4&face=Fixedsys"></SCRIPT>
// By Longware <longware@126.com>

// 读数据
function getData($fname
)
{
    
$handle = fopen ($fname, "r"
);
    
$contents = ""
;
    do
    {
        
$data = fread($handle, 4096
);
        if (
strlen($data) == 0
)
        {
            break;
        }
        
$contents .= $data
;
    }
    while(
true
);
    
fclose ($handle
);    

    return
$contents
;
}

// 写数据
function
setData($fname,$value
)
{
    
$value
++;
    
$handle = fopen ($fname, "w"
);
    
fwrite($handle,$value
);
    
fclose ($handle
);

    return
$value
;
}

// 主程序
$user = (isset($_REQUEST) && !empty($_REQUEST['user'])) ? $_REQUEST['user'] : "hanweb"
;//用户名
$color = (isset($_REQUEST) && !empty($_REQUEST['color'])) ? "#".$_REQUEST['color'] : "#000000"
;//颜色
$size = (isset($_REQUEST) && !empty($_REQUEST['size'])) ? $_REQUEST['size'] : "2"
;//字体大小
$face = (isset($_REQUEST) && !empty($_REQUEST['face'])) ? $_REQUEST['face'] : "Courier New"
;//字体
$fname = "./counter/".$user.".txt"
;

if(!
file_exists($fname
))
{
    
$num = setData($fname,0
);
}
else
{
    
$num = setData($fname,intval(getData($fname
)));
}

echo
"document.write(\"<FONT COLOR='".$color."' SIZE='".$size."' FACE='".$face."'>".number_format($num)."</FONT>\");"
;
?>
在 Windows NT 5.0 build 2195 + Apache v2.0.48 + PHP v4.3.3 上运行通过。
posted @ 2004-07-02 23:44  longware  阅读(99)  评论(0编辑  收藏  举报