php教程

超轻量级php框架startmvc

php强制更新图片缓存的方法

更新时间:2020-03-02 21:24:46 作者:startmvc
本文实例讲述了php强制更新图片缓存的方法。分享给大家供大家参考。具体实现方法如下:

本文实例讲述了php强制更新图片缓存的方法。分享给大家供大家参考。具体实现方法如下:

/** 強制更新圖片緩存 
*   @param Array $files 要更新的圖片 
*   @param int $version 版本 
*/  
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">'."\r\n";  
        $html .= 'window.onload = function(){'."\r\n";  
        $html .= 'setTimeout(function(){window.location.reload(true); },1000);'."\r\n";  
        $html .= '}'."\r\n";  
        $html .= '</script>';  
        echo $html;  
        exit();  
    }else{  // 讀取圖片一次,針對chrome優化  
        if($files){  
            $html .= '<script type="text/javascript">'."\r\n";  
            $html .= "<!--\r\n";  
            for($i=0,$max=count($files); $i<$max; $i++){  
                $html .= 'var force_reload_file_'.$i.' =new Image()'."\r\n";  
                $html .= 'force_reload_file_'.$i.'.src="'.$files[$i].'"'."\r\n";  
            }  
            $html .= "-->\r\n";  
            $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 强制 更新 图片缓存 方法