导航:首页 > 编程语言 > php天气插件

php天气插件

发布时间:2022-08-05 02:11:12

php 页面调用天气预报web服务 我想在一个PHP页面直接调用现成的webservice

完全可以。前提是要打开soap扩展,调用方法如下:
<?php
$client = new SoapClient('http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl');
$parm=array('theCityCode'=>'三亚','theUserID'=>'');
$result=$client->getWeather($parm);
print_r($result);
?>

㈡ PHP调用2345天气问题

$var是一个数组,weatherid是数组中的一个元素。在此之前,一般会先给$var中的每一个元素赋值,例如:$var['weatherid'] = 300,那么整个URL其实就是:http://tianqi.2345.com/t/7day_tq_js/300.js

㈢ 网站如何嵌入天气预报插件

网站嵌入天气预报插件方法如下:

1.在网络首页搜索“天气定制模块”,打开名字中带有新浪网的网站;

5.在浏览器中打开上一步中保存的文件,就可以看到效果了。

㈣ 给个天气预报插件地址啊,要无广告的哦,广告的看着烦

<?php
/**
* 采集天气预报
* @example
* weather::$cache = root.'chache/'; //如果不改缓存目录,可以不写
* $array = weather::get();
* @author lrenwang
* @e-mail [email protected]
*
*/
class weather{
/**
* 域名
*
* @var string
*/
static public $domain='http://qq.ip138.com';
/**
* 城市的连接
* @example /省份/城市.htm
*
* @var string
*/
static public $url='/weather/hebei/qinhuang.htm';
/**
* 缓存目录
*
* @var string
*/
static public $cache='cache/';
/**
* 更新频率,小时为单位
*
* @var unknown_type
*/
static public $h=1;

/**
* 天气预报对应的图片路径
*
* @var unknown_type
*/
static public $img = 'images/weather/';

/**
* 获得今日,明日天气预报
*
* @return array
*/

static function get()
{
$time=time();

//缓存文件位置
$cache_file = self::$cache.'weather.dat';
//判断缓存文件是否存在,没有则生成
if(!is_file($cache_file)){
if(!is_dir(self::$cache))
mkdir(self::$cache,0777,true);
self::get_($cache_file);
}

//判断缓存是否过期,过期则重新生成
if($time-filemtime($cache_file)>=3600*3){
self::get_($cache_file);
}
$arr=unserialize(file_get_contents($cache_file));
return $arr;
}

/**
* 获得缓存
*
* @param unknown_type $cache_file
*/
static public function get_($cache_file)
{
$con = file_get_contents(self::$domain.self::$url);
preg_match('~<table width="700" borderColorDark="#ffffff".*?>(.*?)</table>~s',$con,$table);
preg_match_all('~<tr.*?>(.*?)</tr>~s',$table[1],$trs);
$i=0;
$array = array();

foreach ($trs[1] as $tr)
{
++$i;
preg_match_all('~<t[dh].*?>(.*?)</t[dh]>~s',$tr,$tds);
$array[0][] = self::I($tds[1][1]);
$array[1][] = self::I($tds[1][2]);
}
$array[0][1] = self::get_img($array[0][1]);
$array[1][1] = self::get_img($array[1][1]);
file_put_contents($cache_file,serialize($array));
}

/**
* 数据输出测试
*
* @param unknown_type $data
* @param unknown_type $s
*/
static public function P($data,$s=0)
{
echo "<pre>";
if (is_array($data))
var_export($data);
else
echo $data;
echo '</pre>';
if ($s==0)
exit();
}
/**
* 转码
*
* @param unknown_type $str
* @return unknown
*/
static public function I($str)
{
return iconv('GB2312','UTF-8',$str);
}

/**
* 获得图片的URL,此处可扩展,把图片抓取到本地, 增加访问速度
*
* @param string $str
* @return string
*/
static public function get_img($str)
{
preg_match('~src=["\']?(.*?)["\']? ~s',$str,$p);
return self::$img.pathinfo($p[1],PATHINFO_BASENAME);
}
}
//print_r();
$weather = weather::get();
echo "<img src={$weather[0][1]}>";
?>

㈤ php获取天气预报的代码

<?php
$URLStyle="http://flash.weather.com.cn/wmaps/xml/%s.xml";
$chinaURL=sprintf($URLStyle,"china");
$chinaStr=file_get_contents($chinaURL);
$chinaObj=simplexml_load_string($chinaStr);
$chinaObjLen=count($chinaObj->city);
echo"chinaObjLen=".$chinaObjLen." ";
for($i=0;$i<$chinaObjLen;$i++){
//遍历省一级节点,共37个
$level1=$chinaObj->city[$i]["pyName"];
$shengjiURL=sprintf($URLStyle,$level1);
$shengjiStr=file_get_contents($shengjiURL);
//echo$shengjiStr;
$shengjiObj=simplexml_load_string($shengjiStr);
$shengjiObjLen=count($shengjiObj->city);
//echo$chinaObj->city[$i]["quName"];
//echo"".$shengjiObjLen." ";
for($j=0;$j<$shengjiObjLen;$j++){
//遍历市一级节点
$level2=$shengjiObj->city[$j]["pyName"];
$shijiURL=sprintf($URLStyle,$level2);
$shijiStr=file_get_contents($shijiURL);
//echo$shijiStr;
$shijiObj=simplexml_load_string($shijiStr);
//直辖市和海南、台湾、钓鱼岛等没有县级节点
if(!$shijiObj){
echo"WARNNING:notexsitnextlevelnode.-".$level1."-".$shijiURL." ";
echo'"'.$shengjiObj->city[$j]["cityname"].'"=>';
echo$shengjiObj->city[$j]["url"].", ";
continue;
}
$shijiObjLen=count($shijiObj->city);
//echo$shengjiObj->city[$j]["cityname"]."";
//echo$shijiObjLen." ";
for($k=0;$k<$shijiObjLen;$k++){
//遍历县一级节点
$xianji_code=$shijiObj->city[$k]["url"];
echo'"'.$shijiObj->city[$k]["cityname"].'"=>';
echo$shijiObj->city[$k]["url"].", ";
//echo$xianji_code." ";
}
}
}
//print_r($chinaObj);
?>

通过XML接口根节点递归获得全国几千个县以上城市cide code的代码

㈥ 怎么利用php的api获得城市新浪天气

<?php
//发送浏览器头信息告诉浏览器本页面的编码防止乱码
header("Content-type:text/html;charset=utf-8");
$city='上海';
//定义接口地址
$encode_url='http://php.weather.sina.com.cn/xml.php?city='.urlencode(mb_convert_encoding($city,'gb2312','utf8')).'&password=DJOYnieT8234jlsK&day=1';
//请求接口地址获取xml
$xml_source=file_get_contents($encode_url);
//var_mp($xml_source);

//利用simplexml解析类将xml转成对象
$xml_object=simplexml_load_string($xml_source);
//var_mp($xml_object);
echo$xml_object->Weather->status1;

你可以随便调试 记得奖励哦

㈦ php在日历上面显示天气预报这么显示 我日历代码已经写好在下面这么添加天气预报

直接用中国天气网的插件就可以

㈧ 网页天气预报插件代码

不用安装插件,你把下面的代码插入你的网页中就可以了:第一种: 代码: <iframe width="145" height="130" border="0" align="center" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" src="" allowTransparency="true"></iframe> 效果预览: 说明:这种适合于在网页的边栏插入。但一个缺点是,上面的4个城市是既定的,无法改成别的。插入时,选好网页上的位置,直接将左栏的源代码全部拷进去就行了 第二种: 代码: <IFRAME ID='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC=''></IFRAME> 效果预览: 说明:这种 也适合于在网页的边栏插入。上面的城市可以自定,比如厦门可改成别的。定制的方法是修改我代码中标红的数字,从1开始代表“香港”开始,每个数字都代表一个城市,厦门是287,具体要哪个城市自己找一下罢。 第三种: 代码: <IFRAME ID='ifm2' WIDTH='260' HEIGHT='70' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' src=""></iframe> 效果预览: 说明:这种适合于在网页的头栏插入。上面的城市可以自定,比如 石家庄可改成别的。定制的方法是修改我代码中标红的数字。具体各个城市对照的id表可在此下载:城市名称及ID对照表(请右键点击—>另存为)。 第四种: 代码: <iframe width="469" height="218" border="0" align="center" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" src="厦门" allowTransparency="true"></iframe> 效果预览: 说明:这种适合于在网页的正栏插入。上面的城市可以自定,比如厦门可改成别的。定制的方法是修改我代码中标红的 名称。这里比较简单,直接用汉字改就行了。比如是福州的,你就直接把“厦门”改成福州就行。 第五种: 代码: <IFRAME ID='ifm1' WIDTH='405' HEIGHT='332' ALIGN='center' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC=""></IFRAME> 效果预览: 第六种: 代码: <iframe width=160 height=230 frameborder=0 scrolling=NO src=南昌></iframe> 效果预览: 说明:这种适合于在网页的边栏插入。上面的城市可以自定,比如南昌可改成别的。定制的方法是修改我代码中标红的名称。这里比较简单,直接用汉字改就行了。比如是福州的,你就直接把“厦门”改成福州就行 很不错哦,你可以试下
qgulqjbsvk62041435102011-10-12 9:09:45

㈨ 如何使用PHP调用API接口实现天气查询功能

最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、网络天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是网络提供的免费天气查询接口API,下面与大家分享下...

1、查询方式:

网络提供的是根据纬度和城市名查询天气情况

2、接口事例:


阅读全文

与php天气插件相关的资料

热点内容
java迭代器遍历 浏览:299
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751
华为删除交换机配置命令 浏览:473
shell打包命令 浏览:827