http禁用缓存、文件下载
来源:互联网 发布:网络真人赌博骗局 编辑:程序博客网 时间:2024/05/16 16:23
一、一个完整的http响应报文:
Location:http://www.baidu.org/index.php Server:apache Content-Encoding:gzip //内容编码支持的压缩算法:gzip Content-Length:80 //返回数据的大小 Content-Language:zh-cn Content-Type:text/html;charset=GB2312 Last-Modified:Tue,11 Jul 2000 18:23:51 GMT //浏览器请求的最新时间 Refresh:1;url=http://www.baidu.com //告诉浏览器间隔1秒重定向到百度去 Content-Disposition:attachment;filename=aaa.zip Transfer-Encoding:chunked Set-Cookie-SS=Q0=5Lb_nQ;path=/search Expires:-1 .//控制不缓存该页面(以下两句作用相同,只是为了解决浏览器兼容问题 Cache-Control:no-cache Pragma:no-cache Connection:close/Keep-Alive Date:Tue,11 Jul 2000 18:223:52 GMT
二、实例:如何通过http响应,控制浏览器的跳转间隔时间(3秒)
<?php header("Refresh:3;url:http:www.sohu.com"); ?>
三、实例:网页默认缓存,此处禁用网页的缓存机制
<?php //通过 header 禁用缓存 header("Expires:-1"); header("Chche-Control:no_cache"); header("Pragma:no_cache"); echo "Hello,chche"; ?>
四、实例:http实际应用之文件下载
<?php //演示下载一个文件 //如果文件是中文的,则会出现乱码,必须使用iconv("utf-8", "gb2312", $file_name);函数将编码格式转为gb2312 $file_name = "Sunset.jpg"; $file_name = iconv("utf-8", "gb2312", $file_name); //1、打开文件 if(!file_exists($file_name)) { echo "文件不存在"; return; } $fp = fopen($file_name, "r") //获取文件大小 $file_size = filesize($file_name); //下载文件所需的头部 header("Content-type: application/octet-stream"); //返回的文件 header("Accept-Ranges: bytes"); //以字节方式返回 header("Accept-Length: $file_size"); //返回文件的大小 header("Content-Disposition: attachment; filename=''.$file_name"); //客户端的对话框弹出的文件名 //向客户端回送数据 $buffer=1024; $file_count = 0; //为了下载安全,做的文件字节读取计数器 while(!feof($fp) && ($file_size - $file_count >0)) { //判断文件是否结束 $file_data = fread($fp, $buffer); //把部分数据回送给浏览器 $file_count += $buffer; // echo $file_data; } //关闭文件 fclose($fp); ?>
0 0
- http禁用缓存、文件下载
- http协议禁用缓存
- HTTP协议基础 @ 禁用浏览器缓存页面
- PHP---禁用缓存和文件下载
- 禁用缓存的文件头的response
- Nginx禁用缓存、禁止客户端保存文件
- 编程实现禁用HTTP缓存与定时刷新
- http文件下载
- http下载文件
- 下载HTTP文件
- 下载http文件
- HTTP文件下载
- iphone http下载文件
- Struts HTTP 文件下载
- 使用Http下载文件
- http文件下载
- tomcat http 文件下载
- http文件资源下载
- Android WebView 安全漏洞解决方案
- Java中int和integer区别
- 深复制与浅复制的理解
- Sublime text2的注册码破解
- java栈 函数如何调用
- http禁用缓存、文件下载
- 【Java基础知识】扩展的赋值运算符隐含着强转
- Android中触摸事件MotionEvent的来源
- ERROR SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: System memo
- 使用golang快速开发微信公众平台(一):开启服务器配置
- 排序算法之桶排序
- 单线程下Looper、Message、MessageQueue、Handler关系图解
- 数据结构--栈(js版)
- php借助linux脚本生成加密的zip并可以解密