php静态文件返回304技巧分享
2023-06-13 09:15:39 时间
有时一些静态文件(如图片)会由php输出,会发现请求都是200,静态文件每次都去服务器上请求太浪费资源了,这时如何让浏览器缓存图片呢?就需要我们在php中输出304了。
我们可以利用php中的HTTP_IF_MODIFIED_SINCE结合etag来干这事。Etag没有明确规定的格式,我们可以用文件修改时间的md5值,代码如下:
privatefunction_addEtag($file){
$last_modified_time=filemtime($file);
$etag=md5_file($file);
//alwayssendheaders
header("Last-Modified:".gmdate("D,dMYH:i:s",$last_modified_time)."GMT");
header("Etag:$etag");
//exitifnotmodified
if(@strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"])==$last_modified_time||
@trim($_SERVER["HTTP_IF_NONE_MATCH"])==$etag){
header("HTTP/1.1304NotModified");
exit;
}
}
在代码中可以在静态文件(如图片)输出之前调用即可。
相关文章
- php操作Memcache/Memcached常用方法
- 查看php是ts版本还是nts版本的方法
- php判断文件是否存在
- Linux系统下搜索PHP文件的技巧(linux查找php文件)
- Linux新建PHP文件的操作指南(linux新建php文件)
- PHP命令执行php文件需要注意的问题详解编程语言
- php编辑器notepad++ 推荐一款非常好看主题和字体详解编程语言
- PHP操作MySQL精彩呈现(php调用mysql)
- 文件MySQL更新实现快速PHP文件升级(mysql更新php)
- PHP与MySQL结合使用实现关联查询的方法(php关联mysql查询)
- 如何在Linux系统下执行PHP文件?(linux下执行php)
- PHP实现在Linux系统中进行文件操作(php写linux文件)
- PHP读取Linux文件的方法(php读取linux文件)
- Linux无法解析PHP文件,如何解决(linux 不解析php)
- PHP管理MSSQL的方法探索(Php管理mssql)
- PHP如何连接MSSQL服务器(php怎么连mssql)
- Linux下实现高效的PHP配置(linux下php配置)
- PHP字符转义相关函数小结(php下的转义字符串)
- 透析PHP的配置文件php.ini
- 《PHP编程最快明白》第五讲:php目录、文件操作
- php入门学习知识点六PHP文件的读写操作代码
- PHP中设置时区,记录日志文件的实现代码
- PHP读取文件内容后清空文件示例代码
- PHP中使用smarty生成静态文件的例子
- 配置php.ini实现PHP文件上传功能