欢迎光临
感谢一路有你

新浪短链接生成函数

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

函数

<?php
/**
 * 调用新浪接口将长链接转为短链接
 * @param  string        $source    申请应用的AppKey
 * @param  array|string  $url_long  长链接,支持多个转换(需要先执行urlencode)
 * @return array
 */
function getSinaShortUrl($source, $url_long){
    // 参数检查
    if(empty($source) || !$url_long){
        return false;
    }
    // 参数处理,字符串转为数组
    if(!is_array($url_long)){
        $url_long = array($url_long);
    }
    // 拼接url_long参数请求格式
    $url_param = array_map(function($value){
        return '&url_long='.urlencode($value);
    }, $url_long);

    $url_param = implode('', $url_param);

    // 新浪生成短链接接口
    $api = 'http://api.t.sina.com.cn/short_url/shorten.json';

    // 请求url
    $request_url = sprintf($api.'?source=%s%s', $source, $url_param);

    $result = array();

    // 执行请求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $request_url);
    $data = curl_exec($ch);
    if($error=curl_errno($ch)){
        return false;
    }
    curl_close($ch);
    $result = json_decode($data, true);
    return $result;
}

?>

使用

source 申请应用时分配的AppKey,调用接口时代表应用的唯一身份。

url_long 需要转换的长链接,需要URLencoded,最多不超过20个。

// AppKey
$source = '198...5319';//新浪申请到的网站appkey值(这里就不显示完整了)
// 单个链接转换
$url_long = 'http://www.wangmingchang.com/';
$data = getSinaShortUrl($source, $url_long);
echo "<pre>";
print_r($data);

// 多个链接转换
$url_long = array(
    'http://www.wangmingchang.com/',
    'http://bbs.wangmingchang.com/'
);
$data = getSinaShortUrl($source, $url_long);
print_r($data);

效果

 

赞(0) 打赏
未经允许不得转载:王明昌博客 » 新浪短链接生成函数
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮