文章接口编写

<?php  
header("Content-type:text/html;charset=utf-8");
//echo md5("nba1");exit;
//4eca43cd572620f7b40b34f40174740a
//b6312b8850d73fe2411ff3719cd94391
//接值
$type_id=$_GET['type_id'];

$key=$_GET['key'];

$type=isset($_GET['type'])?$_GET['type']:"json";

/**接口地址:http://www.weektest.com/20160907/app.php
支持格式:json/xml
请求方式:get
请求示例:http://www.weektest.com/20160907/app.php/type_id=1&key=您申请的KEY&type=xml;
请求参数说明:
    名称     类型     必填     说明
      type_id int     Y   文章类型id,如:"1",
      key     string     Y     你申请的key
返回参数说明:
    名称     类型     说明
     id      int    文章id
    title   varchar 标题
   content  varchar 内容
json返回数据
{
    "data":[{
        "id":"1",
        "title":"易建联返航NBA",
        "content":"易建联与湖人队正式签约,新赛季重返NBA...."}
        ,{"id":"2",
        "title":"梦之队里约夺冠?",
        "content":"对于对手来说梦12队依然不可战胜...."},
        {"id":"3",
        "title":"火箭休赛期报告",
        "content":"痛定思痛之后,火箭休赛期对阵容进行了大幅调整...."},
        {"id":"4",
        "title":"易建联返航NBA",
        "content":"易建联与湖人队正式签约,新赛季重返NBA...."}],
    "resultcode":"200",
    "reason":"查询成功"}

xml返回数据
<news>
    <new>
        <id>1</id>
        <title>易建联返航NBA</title>
        <content>易建联与湖人队正式签约,新赛季重返NBA....</content>
    </new>
    <new>
        <id>2</id>
        <title>梦之队里约夺冠?</title>
        <content>对于对手来说梦12队依然不可战胜....</content>
    </new>
    <new>
        <id>3</id>
        <title>火箭休赛期报告</title>
        <content>痛定思痛之后,火箭休赛期对阵容进行了大幅调整....</content>
    </new>
    <new>
        <id>4</id>
        <title>易建联返航NBA</title>
        <content>易建联与湖人队正式签约,新赛季重返NBA....</content>
    </new>
    <new>
        <id>5</id>
        <title>梦之队里约夺冠?</title>
        <content>对于对手来说梦12队依然不可战胜....</content>
    </new>    
</news>
**/
$app_key=md5("nba".$type_id);
if($key!=$app_key){
    echo "<script>alert('key值不正确')</script>";exit;
}else{
   $pdo=new PDO("mysql:host=localhost;dbname=day",'root','root');
   $pdo->query("set names utf8");
   $re=$pdo->query("SELECT id,title,content FROM nba WHERE type_id=$type_id ");
   $data['data']=$re->fetchAll(PDO::FETCH_ASSOC);
   //var_dump($data);exit;
   if($type=="xml"){
           header("Content-type:text/xml;charset=utf-8");
           echo '<?xml version="1.0" encoding="utf-8"?>';
           echo "<news>";
                    foreach($data['data'] as $v){
                        echo "<new>";
                          echo "<id>{$v['id']}</id>";
                          echo "<title><![CDATA[{$v['title']}]]></title>";
                          echo "<content>{$v['content']}</content>";  
                        echo "</new>";
                    }
           echo "</news>";

   }else{
                       
                        if(!empty($data['data'])){
                            $data['resultcode']="200";
                            $data['reason']="查询成功";
                                  if ( version_compare( PHP_VERSION,'5.4.0','<'))
                        {
                             $str = json_encode($data);
                             $str =  preg_replace_callback(
                                                        "#\\\u([0-9a-f]{4})#i",
                                                         function( $matchs)
                                                        {
                                                              return  iconv('UCS-2BE', 'UTF-8',  pack('H4',  $matchs[1]));
                                                        },
                                                          $str
                                                        );
                             echo ($str) ;
                        }
                         else
                        {
                             echo  json_encode($data,JSON_UNESCAPED_UNICODE);
                        }
                       }else{
                        echo "请输入正确的type_id";
                    }
        }                    
}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值