PHP又拍云CDN刷新缓存实例

很多站点都会把静态资源、网页缓存到CDN以提升网站加载速度。但是,如果某个静态资源、网页内容发生改变,或者网页有了新的评论,此时就需要刷新CDN缓存来进行更新,否则用户看到的还是旧内容,只有等到CDN缓存失效重新回源才行。
如果没更新一次,就去CDN平台进行手动刷新,太显麻烦。今天给大家提供通过又拍云API实现自动刷新缓存的PHP实例。

一、介绍

官方说明文档:点击这里

1、请求路径

POST https://api.upyun.com/purge

2、参数说明

参数名类型描述必填
bucketstring需要删除的token备注名No
urlsstring需要批量刷新的文件URL,多个URL通过换行符\n分隔Yes

注意:传递参数需要以json形式传递。

3、响应说明
如果刷新成功,返回内容如下:

{
    "result": [{
        "url": "https://www.eyuyun.com/227.html",
        "status": "刷新成功",
        "task_id": "11100072d22df5d70db7fb1588826022",
        "code": 1
    }]
}

二、PHP实例

/*刷新缓存*/
function curl_purge($urls){
    $token ='有权限的token';
    $headers = array(
    'Authorization: Bearer '.$token,
    'Content-type:application/json;charset=utf-8',
    );
    $data = json_encode(array(
  "urls" => $urls
           ));
    $url = 'https://api.upyun.com/purge';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    echo $output;
}


$urls = '要刷新的链接';
curl_purge($urls);

注意:$token是必须是有效范围(scope)cacheglobal的token,否则提示因权限不够导致刷新失败。

评论

Your email address will not be published. Required fields are marked *

Scroll Up