文章根据时间段显示的微信名和微信号3.0版(处理数据在服务器端)

1.根据前两篇所总结,处理数据都是在客户端即用户浏览设备端,而有的设备,例如手机对js的编译解释出现延迟,所以本次将数据的处理放在服务器端,chuli.php处理完毕数据在传回给time_weixin.js,本文与第二篇代码基本一样,改变的是chuli.php和time_weixin.js

2.chuli.php代码如下:

<?php
$id=$_POST["id"];
if($id==0){
	$str=$_POST["str"];
	$str=substr($str,0,strlen($str)-1);
	$re=file_put_contents('str.txt', $str);
	if($re){
		echo "1";
	}
	else{
		echo "0";
	}
}
else if($id==1){
	$str=file_get_contents('str.txt');
	echo $str;
}
else{
	$str=file_get_contents('str.txt');
	$tmnow=strtotime(date("H:i"));
	$hang=explode("/",$str);
	for ($i=0;$i<count($hang);$i++) { 
		$lie=explode("|",$hang[$i]);
		$tm=$lie[0];
		$tmarr=explode("-",$tm);
		$tmfir=strtotime($tmarr[0]);
		$tmlast=strtotime($tmarr[1]);
		if($tmnow>=$tmfir && $tmnow<$tmlast){
			$name=$lie[1];
			$weixin=$lie[2];
			break;
		}
	}
	$info = array('name' =>$name ,'weixin'=>$weixin );
	foreach ( $info as $key => $value ) {  
        $info[$key] = urlencode($value);  //使用urlencode()对中文编码,防止中文乱码
    }
	echo urldecode(json_encode($info));//使用urldecode()对中文解码
}

  

3.time_weixin.js代码如下

function time_weixin(){
	var info= new Array();
	$.ajax({
		url:"../js/chuli.php",
		data:{id:2},
		type:"POST",
        dataType:"TEXT",
        async:false,
        success: function(data){
        	var msg=eval("("+data+")");//ajax中返回的是json字符串,将它转化为js对象:eval再加上两边的括号和引号
			info[0]=msg['name'];
			info[1]=msg['weixin'];

        }
	});
	return info;	
}
var nmtext=time_weixin()[0];
var wxtext=time_weixin()[1];
var nm=document.getElementsByClassName("nm");
var wx=document.getElementsByClassName("wx");
for(i=0;i<nm.length;i++){
	nm[i].innerHTML = nmtext;
}
for(i=0;i<wx.length;i++){
	wx[i].innerHTML = wxtext;
}

  

posted @ 2017-02-24 17:36  坏小子1993  阅读(215)  评论(0编辑  收藏  举报