php实现网页计数(读写文件)
访客计数器的流程如下
第一位用户浏览某页。
服务器程序从数据库或文件中读取该页被浏览次数。
将次数加一储存,并将它送回第一位用户。
第二位用户浏览某页。
服务器程序从数据库或文件中读取该页被浏览次数。
将次数再加一储存,并将它送回第二位用户。
<?php
$filename="./visit";
$handle=fopen($filename,"r+");
$visit =intval(@fread($handle,20));
$handle=fopen($filename,"w+");
fwrite($handle,++$visit);
$len=strlen($str=strval($visit));
for($i=0;$i<$len;$i++) {
echo "document.write('<img src=\"images/{$str[$i]}.gif\">');";
}
?>
另外还有一种方法是:
function MyCounter() {
$counterFile="/tmp".$GLOBALS["PHP_SELF"];
if (!file_exists($counterFile)) {
if (!file_exists(dirname($counterFile))) {
mkdir(dirname($counterFile), 0700);
}
exec("echo 0 > $counterFile");
}
$fp = fopen($counterFile,"rw");
$num = fgets($fp,5);
$num += 1;
print "$num";
echo $counterFile;
exec("rm -rf $counterFile");
exec("echo $num > $counterFile");
}
?>
不过我对这种方法更加怀疑,因为删除文件的话我担心会出现并发问题,假想并发量很大时,会不会出现
if (!file_exists($counterFile)) {
exec("echo 0 > $counterFile");
}
造成计数清楚清0了呢?
相关文档:
今天想使用一下PHP的OpenSSL扩展库,习惯性的从php.ini中相应行打开支持,然后刷新页面,发现竟然还是不支持?
郁闷之下,看了看Apache的错误日志:提示“不能加载XXX动态库"?
真是见鬼,别的链接库都可以装入,为什么php_mcrypt.dll和php_openssl.dll这两个链接库无法装入呢?
上网查了一下资料,原来这两个 ......
由于最近做的一个项目图片比较多(缩略图+实际物品图),大概有一万多个文件,而服务器又在国外,用美国的VPN速度还是非常的慢,如果上传一万多个文件,估计将花费两三个小时。并且由于后面将有更多的文件需要上传至服务器,所以狠下心来找一种上传压缩包后进行处理的方法。 & ......
以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。
......
学习目的:掌握php的流程控制
1、if..else 循环有三种结构
第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
if (expr) { statement }
其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行 ......
2200的路过。。PHP本身是简单,但学PHP不是指你走PHP这条路,而是指你走WEB这条路,会PHP,还要会ECSHOP,DZ,PHPCMS,帝国CMS各大程序,你会了么?好,你说你PHP很好,这些我都会,那AJAX?可以灵活运用?AJAX也会,那好,FLEX你会了么?都会,好,你可以自行在WIN2003或者LINUX下配置PHP环境,获取最优环境了么?若想高工资, ......