推荐: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);