Discuz! X 更新主题封面图片后自动刷新CDN服务器上缓存
        
        
| 
 
                        
    
		
| 应用场景:后台“上传设置 - 本地附件 URL 地址”处为域名,该域名已启用CDN,通过请求 $host/purge/$uri 的方式刷新缓存。 打开 source/function/function_post.php 文件,
 查找:
 
 在其下方增加:
 
 
 复制代码                $isupdate = file_exists($basedir.'./forum/'.$coverdir.$tid.'.jpg') ? 1 : 0;
这一步是为了判断是否已经设置过封面,下一步中将通过此变量决定是否请求刷新缓存。
 查找:
 
 在其下方增加:
 
 复制代码                        if($aid && $isupdate) {
                                preg_match_all('/^http(s)?:\/\/(.*?)\//', $_G['setting'][attachurl], $attachDomain);
                                if($attachDomain[0][0]) file_get_contents($attachDomain[0][0].'purge/shequ/forum/'.$coverdir.$tid.'.jpg');
                        }
当 $aid 存在(排除后台批量生成封面的情况)且 $isupdate 存在(即生成过封面)时,请求CDN服务器刷新缓存。注意CDN服务器上需要将网站服务器IP加入支持刷新缓存的IP列表。
 | 
 | 
|  | 
|
|  | 
|  |