免VIP看全网影视 免VIP看全网影视 超值爆款淘宝天猫省钱优惠券疯抢领取 免VIP看全网影视 广告位招租
超值爆款淘宝天猫省钱优惠券疯抢领取 超值爆款淘宝天猫省钱优惠券疯抢领取 超值爆款淘宝天猫省钱优惠券疯抢领取 超值爆款淘宝天猫省钱优惠券疯抢领取 超值爆款淘宝天猫省钱优惠券疯抢领取
文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月
文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月
文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月 文字广告位50/月
| 如何在幻影博客投稿? | 点击加入幻影博客交流群 | 本站所有广告商均已承诺投放的内容诚信可靠,如果被骗请点击:联系809666838举报 | 广告位价格说明 | 友联申请说明 |

php计数器

文件方式计数器 


function fileCounter($default=0){
		//文件名
		$file = './count.dat';
		//最大读取位数
		$Maxlenght = '10';
		if(!file_exists($file)){
			//如果计数器文件不存在
			//初始值
			$counter = $default;
			//新建文件
			$cf = fopen($file,"w");
			//写入数字
			fputs($cf,$counter);
			//关闭文件
			fclose($cf);
		}else{
			//取回当前计数器的值
			$cf = fopen($file,"r");
			//去除空格并取出值
			$counter = trim(fgets($cf,$Maxlenght));
			//关闭文件
			fclose($cf);
		}
		//计数器加一
		$counter++;   
		//写入新的数据      
		$cf = fopen($file,"w");
		fputs($cf,$counter);
		fclose($cf);
		return $counter;
	}
数据库方式计数器  
sqlCounter($default=0){
		//数据表名
		$sql_table = 'counter';
		//数据库连接(地址,账号,密码)
		$conn=@mysqli_connect("localhost","root","root");
		
		//判断数据库是否正常连接
		if (!mysqli_select_db($conn,$sql_table)) {
			mysqli_close($conn);
			exit('error('.mysqli_errno($conn).'):'.mysqli_error($conn));
		}
		//判断数据表是否存在
		$result = mysqli_query($conn,"SHOW TABLES LIKE '%{$sql_table}%'");

		if ($result && mysqli_num_rows($result)) {
			//数据表存在的情况下直接读取数据
			$re=mysqli_query($conn,"select count from {$sql_table} where id='1'");
			$counter = mysqli_fetch_assoc($re);
			$count = $counter['count'];
		}else{
			//数据表不存在则直接创建数据表
			$count = $default;
			$sql = "CREATE TABLE `{$sql_table}` (
				`Id` int(11) NOT NULL AUTO_INCREMENT,
				`count` int(11) DEFAULT NULL,
				PRIMARY KEY (`Id`)
			);INSERT INTO {$sql_table} (id,count) VALUES ('1','{$count}');";
			$re=mysqli_multi_query($conn,$sql);
			if(!$re){
				exit('error('.mysqli_errno($conn).'):'.mysqli_error($conn));
			}
		}
		$up = "update {$sql_table} set count=count+1 where id='1'";
		mysqli_multi_query($conn,$up);
		mysqli_close($conn);
		return $count;
	}

sql方式的记得修改数据库连接信息,然后给数据库创建一个counter的数据表,其他都已经备注好了。

下面是class方式的汇总

<?php
/**
 * PHP计数器
 * @author Youngxj <blog@youngxj.cn>
 * @time 2018年8月11日
 * 使用方法:
$count  = new Counter();
sql方式:echo $count::sqlCounter();
文件方式:echo $count::fileCounter();
初始值:echo $count::fileCounter('100');
 */
class Counter{
	/**
	 * 文件形式计数
	 * @param  integer $default 初始值
	 * @return [type]           [description]
	 */
	public static function fileCounter($default=0){
		//文件名
		$file = './count.dat';
		//最大读取位数
		$Maxlenght = '10';
		if(!file_exists($file)){
			//如果计数器文件不存在
			//初始值
			$counter = $default;
			//新建文件
			$cf = fopen($file,"w");
			//写入数字
			fputs($cf,$counter);
			//关闭文件
			fclose($cf);
		}else{
			//取回当前计数器的值
			$cf = fopen($file,"r");
			//去除空格并取出值
			$counter = trim(fgets($cf,$Maxlenght));
			//关闭文件
			fclose($cf);
		}
		//计数器加一
		$counter++;   
		//写入新的数据      
		$cf = fopen($file,"w");
		fputs($cf,$counter);
		fclose($cf);
		return $counter;
	}
	/**
	 * sql方式计数
	 * @param  integer $default 初始值
	 * @return [type]           [description]
	 */
	public static function sqlCounter($default=0){
		//数据表名
		$sql_table = 'counter';
		//数据库连接(地址,账号,密码)
		$conn=@mysqli_connect("localhost","root","root");
		
		//判断数据库是否正常连接
		if (!mysqli_select_db($conn,$sql_table)) {
			mysqli_close($conn);
			exit('error('.mysqli_errno($conn).'):'.mysqli_error($conn));
		}
		//判断数据表是否存在
		$result = mysqli_query($conn,"SHOW TABLES LIKE '%{$sql_table}%'");

		if ($result && mysqli_num_rows($result)) {
			//数据表存在的情况下直接读取数据
			$re=mysqli_query($conn,"select count from {$sql_table} where id='1'");
			$counter = mysqli_fetch_assoc($re);
			$count = $counter['count'];
		}else{
			//数据表不存在则直接创建数据表
			$count = $default;
			$sql = "CREATE TABLE `{$sql_table}` (
				`Id` int(11) NOT NULL AUTO_INCREMENT,
				`count` int(11) DEFAULT NULL,
				PRIMARY KEY (`Id`)
			);INSERT INTO {$sql_table} (id,count) VALUES ('1','{$count}');";
			$re=mysqli_multi_query($conn,$sql);
			if(!$re){
				exit('error('.mysqli_errno($conn).'):'.mysqli_error($conn));
			}
		}
		$up = "update {$sql_table} set count=count+1 where id='1'";
		mysqli_multi_query($conn,$up);
		mysqli_close($conn);
		return $count;
	}
}


分享到:更多

相关推荐:

发表评论

游客 表情
送你一朵小花花~

网友评论(0)