PHP 获取天气


undefinedundefined

复制代码
    /**
     * 获取天气
     */
    function get_tq () {

        //获取用户ip地址
        $ip = get_real_ip();
        // $ip = '123.125.71.38';
        //根据ip地址 获取用户所在城市
        $api_key = '8d6c8b8f3749aed6b1aff3aad6f40e37';           
        // 使用固定城市北京市
        $cityName = '北京市';

        //获取今天的日期
        $day = time_format(NOW_TIME, 'Y.m.d');

        if( $cityName ) {
            $tq_datas = S('site.widget.nav.tq.' . md5($cityName) . '.day.' . $day );

            if( false == $tq_datas ){
                //根据城市名 获取天气情况
                $tq_datas = @file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=" . urlencode($cityName) . "&output=json&ak=" . $api_key);
                $tq_datas = json_decode( $tq_datas, true );

                $tq_datas = $tq_datas ? $tq_datas : [];
                S('site.widget.nav.tq.' . md5($cityName) . '.day.' . $day, $tq_datas );
            }
        }

        foreach( $tq_datas['results'][0]['weather_data'] as $key=>$val ) {
            $tiqi_name = '';
            $tiqi_name = explode( '/',$val['dayPictureUrl']);
            $tiqi_name = explode( '.', end( $tiqi_name))[0];

            $tq_lists[ $key ] = $val;
            $terminal = cookie('terminal');

            if( $terminal == 'wap') {
                $tq_lists[ $key ]['ico'] = '/themes_wap/tainqi/' . $tiqi_name . ".png";
            } else {
                $tq_lists[ $key ]['ico'] = '/themes/tainqi/' . $tiqi_name . ".png";
            }
        }

        $tq_lists[0]['cityName'] = $cityName;
        if ( $terminal == 'default' ) {
            $this->tq_lists = $tq_lists;
        } else {
            $this->tq_lists = $tq_lists[0];
        }
        
        $this->ajaxReturn([ 'status' => 1 , 'name' => $tq_lists ] );
    }
复制代码

 

posted @   宁佳兵  阅读(1567)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗

"『感谢您的支持,我会继续努力』"

点击右上角即可分享
微信分享提示