PHP   发布时间:2019-11-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php静态文件返回304技巧分享大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

有时一些静态文件(如图片)会由php输出,会发现请求都是200,静态文件每次都去服务器上请求太浪费资源了,这时如何让浏览器缓存图片呢?就需要我们在php中输出304了。

我们可以利用php中的 http_IF_MODIFIED_SINCE 结合etag来干这事。Etag没有明确规定的格式,我们可以用文件修改时间的md5值,代码如下:

title"> 代码如下:
E) { $last_modified_time = filemtime($filE); $etag = md5_file($filE); // always send headers header("Last-Modified: ".gmdate("D,d M Y H:i:s",$last_modified_timE)." GMT"); header("Etag: $etag"); // exit if not modified if (@strtotime($_SERVER['http_IF_MODIFIED_SINCE']) == $last_modified_time || @trim($_SERVER['http_IF_NONE_MATCH']) == $etag) { header("http/1.1 304 Not Modified"); exit; } }

在代码中可以在静态文件(如图片)输出之前调用即可。

大佬总结

以上是大佬教程为你收集整理的php静态文件返回304技巧分享全部内容,希望文章能够帮你解决php静态文件返回304技巧分享所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。