PHP强制更新图片缓存的示例代码

发布时间:2020-05-09编辑:脚本学堂
分享一例php实现强制更新图片缓存的代码,用于开启了文件缓存或cdn加速等的站点上,是相当不错的,有需要的朋友参考下。

代码:
 

复制代码 代码示例:
<?php
/** 強制更新图片緩存
*   @param Array $files 待更新的图片
*   @param int $version 版本
*  @edit www.jb200.com
*/ 
function force_reload_file($files=array(), $version=0){ 
    $html = ''; 
    if(!isset($_COOKIE['force_reload_page_'.$version])){ // 判断是否已更新过 
        setcookie('force_reload_page_'.$version, true, time()+2592000); 
        $html .= '<script type="text/javascript">'."rn"; 
        $html .= 'window.onload = function(){'."rn"; 
        $html .= 'setTimeout(function(){window.location.reload(true); },1000);'."rn"; 
        $html .= '}'."rn"; 
        $html .= '</script>'; 
        echo $html; 
        exit(); 
    }else{  // 读取图片一次,针对chrome优化 
        if($files){ 
            $html .= '<script type="text/javascript">'."rn"; 
            $html .= "<!--rn"; 
            for($i=0,$max=count($files); $i<$max; $i++){ 
                $html .= 'var force_reload_file_'.$i.' =new Image()'."rn"; 
                $html .= 'force_reload_file_'.$i.'.src="'.$files[$i].'"'."rn"; 
            } 
            $html .= "-->rn"; 
            $html .= '</script>'; 
        } 
    } 
    return $html; 

 
// 调用方法 
$files = array( 
    'images/1.jpg', 
    'images/2.jpg', 
    'images/3.jpg', 
    'images/4.jpg' 
); 
$html = force_reload_file($files, 1); //更新缓存文件
echo $html; 

>>> 您可能感兴趣的文章:
解析 PHP和浏览器缓存机制
超级精练的php缓存类与实例
php ob_start()缓存函数的用法详解
php 文件缓存数据类的代码分享
php立即刷新缓存输出的方法举例
php页面缓存的例子(减经cpu与mysql负担)
一个php缓存类与调用示例
php静态缓存提升网站访问速度的实现代码
php页面缓存ob系列函数的相关介绍
php禁止页面缓存输出的代码
php禁止页面缓存的代码
一个php的页面缓存类