天气网站php模板,PHP天气查询实例代码

推荐:PHP技巧:PHP中密码加密函数function ChangeMsg(msgu,msgp) { if(msgu!= msgp!=) { delmsg = md5(msgu); rname = substr(delmsg,5,1).,.substr(delmsg,7,1).,.substr(delmsg,15,1).,.substr(delmsg,17,1); rnamearray = explode(',',rname); rpass = md5(msgp); r_msg = str_<?php

city_name=_GET['city'];

//用正则在city.txt中查找相应城市的天气城市代码

city_name=trim(ereg_replace("[ ]{1,}","",city_name));

time_file="city.txt";

city_all=file_get_contents(time_file);

preg="|city_name,(.*)\s|i";

preg_match_all(preg,city_all,cn, PREG_SET_ORDER);

city_n=trim(cn[0][1]);

if(city_n)

{

nowtime=date("Y-m-d");

file="cache/city_name.txt";

//获取文件的最后修改日期

if(file_exists(file))

{

last_time=date("Y-m-d",filemtime(file));

}

else{

last_time=date("Y-m-d");

}

//新建保存匹配数组

records=null;

//如果文件存在,或还没过期,则直接读取缓存数据

if (file_exists(file) && last_time==nowtime)

{

records=unserialize(file_get_contents(file));

}

else

{

//以下就是如何在网站上 获取天气资料,,小偷部分!感觉其中的preg_match_all功能很强大

data=file_get_contents("http://weather.msn.com/local.aspx?wealocations=wc:city_n");

preg="|Hi:(.*)°L(.*)°.*class=\"skytext\"colspan=\"3\">(.*)|U";

preg_match_all(preg,data,records);

unset (records[0][0]);

//序列化组

OUTPUT=serialize(records);

//打开文件,

fp=fopen(file,"w");

//把数组写进文件

fputs(fp, OUTPUT);

//关闭

fclose(fp);

}

image=records[1][0];

resulta=records[2][0];

resultb=records[3][0];

resultc=records[4][0];

reString="

city_name

nowtime

".resulta."-".resultb."(F)

".resultc."

";

}

else

{

reString="

The city: city_name hasn`t been found!

";

}

echo iconv("gb2312","utf-8",reString);

?>

主要是把当天的做个缓存,这样第2次访问同一城市的时候的话就比较快了。虽然不是什么好代码,但是对与刚刚学习PHP的人还是一个蛮好的例子,特别是里面的正则表达式的应用。

前编主要是处理 部分,也就是天气查询的核心部分,现在是AJAX中的部分 代码如下: var xmlHttp;

function createXMLHttpRequest()

{

var xmlHttpRequest;

if(window.ActiveXObject)

{

xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP");

return xmlHttpRequest;

}

else if(window.XMLHttpRequest)

{

xmlHttpRequest=newXMLHttpRequest();

return xmlHttpRequest;

}

}

function startXmlHttpRequest()

{

var form=document.getElementById("city");

var city=form.value;

var cityName=form.Text;

xmlHttp=createXMLHttpRequest();

xmlHttp.open("GET","weather/getHtml.php?city="+city+"&cityname="+cityName+"&time="+new Date(),true);

xmlHttp.onreadystatechange=returnText;

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send(null);

}

function startTextXmlHttpRequest()

{

var form=document.getElementById("textcity");

var city=form.value;

xmlHttp=createXMLHttpRequest();

xmlHttp.open("GET","weather/textGetHtml.php?city="+city,true);

xmlHttp.onreadystatechange=returnText;

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send(null);

}

function validataIpAdd()

{

}

function returnText()

{

var div=document.getElementById("result_box");

var loading=document.getElementById("loading");

div.innerHTML="";

loading.style.display="block";

if(xmlHttp.readyState==1)

{

}

else if(xmlHttp.readyState==4)

{

if(xmlHttp.status==200)

{

div.innerHTML=xmlHttp.responseText;

loading.style.display="none";

}

}

}

主要比较简单! 由4个函数组成 1个是创建 1个是提交 一个是返回 顶部的是是判断浏览器然后创建XMLHTMLREQUES

分享:PHP 验证码 详细代码带注释 推荐!checkcode.php 生成验证码图片,还有变量 $_SESSION[check_pic]。 ? session_start(); for ( $i =0; $i 4; $i ++){ $rand .= dechex (rand(1,15)); } $_SESSION [check_pic]= $rand ; //echo$_SESSION[check_pic]; //设置图片大小 $im =imagecreatetruecolor(100,30);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值