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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

从康盛产品(discuz)提取出来的模板类

复制代码 代码如下: <?php /*template.class.php @康盛微博 模板提取类 觉得这个模板好用 花些时间独立出来。 by 雷日锦 @看了一下ctt 这个模板...

PHP遍历二维数组的代码

一开始打算用foreach来历遍,但是发现没有成功,oo不过关,没办法oo写······ 研究后决定用for循环,演示代码如下: 复制代码 代码如下: <?php $blog=ar...

php类常量的使用详解

可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。 常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。 接口(interface)中...

PHP实现抓取迅雷VIP账号的方法

本文实例讲述了PHP实现抓取迅雷VIP账号的方法。分享给大家供大家参考。具体如下: 看了@Jinn_Wei Python版本的抓取账号,于是顺手写了个PHP版本 PS1:代码没经过优化,...

一个经典实用的PHP图像处理类分享

本图像处理类可以完成对图片的缩放、加水印和裁剪的功能,支持多种图片类型的处理,缩放时进行优化等。 <?php /** file: image.class.php 类名...