程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php結合飛信 免費天氣預報短信

php結合飛信 免費天氣預報短信

編輯:關於PHP編程

開始教你怎麼弄
一、需要有一個PHP環境。為了圖省事下載APMServ軟件快速搭建PHP環境
二、下載天氣預報短信通知PHP程序點這裡下載代碼
三、修改PHP程序配置
用記事本打開WeatherForecast.php文件
復制代碼 代碼如下:
<?
/**
* 飛信通知天氣預報
* 2009-4-23
*/

//禁止執行時間限制
set_time_limit (0);

//設置MB編碼
mb_internal_encoding("GB2312");

/**
* 采集新浪天氣預報信息
*
* @param string $city    城市名稱
* @return unknown
*/
function getWF($city){

    if(empty($city)) return "";
    $wf=@file_get_contents('http://php.weather.sina.com.cn/search.php?city='.urlencode($city).'&f=1&dpc=1');
    if (empty($wf)){
        return "";
    }

    //截取相關信息
    $return = "";
    $star=strpos($wf,"<div class=\"blk-s3\">");
    $return = substr($wf,$star,1000);
    $end2=strpos($return,"<!-- box end-->");
    $return = strip_tags(substr($return,0,$end2));

    
    //過濾
    $return = str_replace(" ","",$return);
    $return = str_replace(" ","",$return);
    $return = str_replace("\t","",$return);
    $return = str_replace("\n","",$return);
    $return = str_replace("℃","度",$return);
    $return = str_replace("≤","",$return);
    $return = trim(str_replace("\r",",",$return),",");
    $return = str_replace("~","-",$return);
    $return = str_replace(":",":",$return);

    //返回值
    return $return;
}

//飛信賬號設置
$Fetion['user']='';
$Fetion['pass']='';

//設置天氣預報城市
$citys[]=array('id'=>'bj','name'=>'北京');
$citys[]=array('id'=>'sy','name'=>'沈陽');

//北京手機號
$tel['bj'][]='137XXXXXXX';
$tel['bj'][]='137XXXXXXX';
//沈陽手機號
$tel['sy'][]='138XXXXXXXX';
$tel['sy'][]='137XXXXXXX';


if (is_array($citys)&&count($citys)>0){

    //遍歷城市
    foreach($citys as $city){

        //獲取采集信息
        $info=getWF($city['name']);

        if (!empty($info)){
            if (is_array($tel[$city['id']])&&count($tel[$city['id']])>0){

                //大信息量處理
                if (mb_strlen($info)>171){
                    $sum=ceil(mb_strlen($info)/168)-1;
                    for($i=0;$i<=$sum;$i++){
                        $starj=168*$i;
                        $qInfo=mb_substr($info,$starj,168);
                        $n=$i+1;
                        foreach($tel[$city['id']] as $val){
                            $url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天氣預報[".$n."],"."明天".date("Y年m月d日")." ".$city['name']." ".$qInfo);
                            @file_get_contents($url);
                        }
                    }
                }else{
                    foreach($tel[$city['id']] as $val){
                        $url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天氣預報,明天".date("Y年m月d日")." ".$city['name']." ".$info);
                        @file_get_contents($url);
                    }
                }
            }
        }
    }
}
?>

修改
復制代碼 代碼如下:
//飛信賬號設置
$Fetion['user']='自己的飛信賬號手機號';
$Fetion['pass']='登錄飛信密碼';

你所在的城市修改
復制代碼 代碼如下:
//設置天氣預報城市
$citys[]=array('id'=>'bj','name'=>'北京');

修改你要收到天氣預報的手機號碼可以為多個
復制代碼 代碼如下:
//北京手機號
$tel['bj'][]='137XXXXXXX';
$tel['bj'][]='137XXXXXXX';

這裡的bj要與設置城市中的bj相同
好了配置完成可以測試執行一下是否可以收到天氣預報信息。
四、設置每日定時發送
如果是WINDOWS環境設置計劃任務
開始->程序->附近->系統工具->計劃任務
添加任務 根據提示操作 重點在執行程序選擇PHP.exe
選擇你安裝APMServ所在位子我本地的是D:\APMServ5.2.6\PHP\php.exe WeatherForecast.php絕對路徑
我本地為 D:\APMServ5.2.6\PHP\php.exe D:\APMServ5.2.6\www\htdocs\WeatherForecast.php
完成。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved