PHP IE中下载附件问题解决方法
重点:
1、在IE中下载附件之前要清空缓存。
Header("Pragma: "); //不加的话,IE中会提示目标主机无法访问
Header("Cache-Control: "); //不加的话,IE中会提示目标主机无法访问
Header("content-type: $type");
Header("accept-ranges: bytes");
Header("Content-Transfer-Encoding:base64");
Header("accept-length: " . filesize($path_c));
Header("content-disposition: attachment; filename=" .urlencode($filename)); //IE中不用urlencode中文名会出现乱码
readfile($path_c);
exit;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.urlencode(basename($file) )); //IE中不用urlencode中文名会出现乱码
header('Content-Transfer-Encoding: binary'); //二进制传输
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); //不加的话,IE中会提示目标主机无法访问
header('Pragma: public'); //不加的话,IE中会提示目标主机无法访问
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
相关推荐
-
php使浏览器直接下载pdf文件的方法
有的浏览器安装了pdf打开程序关联到浏览器,所以直接写上pdf路径时是打开pdf而不是下载,下面我就说下如果让他们只是下载,而不是浏览. 创建一个php文件 复制代码 代码如下: <?php$file = $_GET['file'];$arr = explode('/',$file);header('Content-type: application/pdf');header('Content-Disposition: attachment; filename="'.array_pop($
-
使用PHP下载CSS文件中的图片的代码
共享一段使用PHP下载CSS文件中的图片的代码 复制代码 代码如下: <?php //note 设置PHP超时时间 set_time_limit(0); //note 取得样式文件内容 $styleFileContent = file_get_contents('images/style.css'); //note 匹配出需要下载的URL地址 preg_match_all("/url\((.*)\)/", $styleFileContent, $imagesURLArray);
-
解析php下载远程图片函数 可伪造来路
gurl 要下载的图片地址$rfurl 来路.如果目标图像做了防盗链设置,可以绕过.$filename 下载图片保存的文件名,相对路径,不要用realpath$gcookie 调整cookie 伪造的cookie$JumpCount 跳转计数$maxtime 最大次数调用方法:DownImageKeep("http://www.baidu.com/img/baidu_jgylogo2.gif","http://baidu.com","a.gif"
-
使用PHP强制下载PDF文件示例
我们有时会遇到这样一种情况,当需要下载一个PDF文件时,如果不经处理会直接在浏览器里打开PDF文件,然后再需要通过另存为才能保存下载文件.本文将通过PHP来实现直接下载PDF文件. 实现原理:我们仅仅只需要修改页面HTTP头,把Content-Type设置为force-download,问题即可解决. 请看代码: 复制代码 代码如下: forceDownload("pdfdemo.pdf"); function forceDownload($filename) { if (false
-
php下载excel无法打开的解决方法
php下载excel文件,1.在下载的过程中不要 输出任何非文件信息,比如 echo log信息. 否则下载后的文件无法打开,提示格式错误或者文件被破坏.2. 输出的excel格式一定要和后缀名保存一直,否也会提示格式错误或者文件被破坏 复制代码 代码如下: if (file_exists(CACHE_PATH . $file_name)){ //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $fi
-
php 下载保存文件保存到本地的两种实现方法
第一种: <?php function downfile() { $filename=realpath("resume.html"); //文件名 $date=date("Ymd-H:i:m"); Header( "Content-type: application/octet-stream "); Header( "Accept-Ranges: bytes "); Header( "Accept-Length
-
php实现文件下载(支持中文文名)
复制代码 代码如下: /*====================================================== $FileName 为文件名称,必传 $FilePath 为文件路径.选填,可以为相对路径或者绝对路径 路径只能由英文跟数据组成,不能带有中文 ======================================================*/ <?php header("Content-type: text/html;char
-
解析php多线程下载远程多个文件
复制代码 代码如下: function remote($urls, $name = '', $path = '', $dir = './images/') { if (!is_array($urls) or count($urls) == 0) { return false; } dmkdir($dir); $curl = $text = array(); foreach($urls as $k => $v) { if (!empty($v) && preg_match(&quo
-
php实现下载限制速度示例分享
复制代码 代码如下: // local file that should be send to the client$local_file = 'test-file.zip'; // filename that the user gets as default$download_file = 'your-download-name.zip'; // set the download rate limit (=> 20,5 kb/s)$download_rate = 20.5; if(file_e
-
PHP 下载文件时自动添加bom头的方法实例
首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark).不仅限于 记事本保存的文件,只要在文件的开口包含了EF BB BF 几个不可见的字符(十六进制应该是是xEFxBBxBF,用二进制编辑文件可见).这像是一个约定俗成的东西,当系统看到这玩意的时候,就会觉得你这个文件是UTF-8编码的. 如果你的接口是UTF-8的,你需要强制下载一个文件,
-
分享一个超好用的php header下载函数
复制代码 代码如下: <?php/** * 发送文件 * * @author: legend(legendsky@hotmail.com) * @link: http://www.ugia.cn/?p=109 * @description: send file to client * @version: 1.0 * * @param string $fileName 文件名称或路径 * @param string $fancyName 自定义的文件名,为空则使用file
-
解析获取优酷视频真实下载地址的PHP源代码
复制代码 代码如下: <?php //--调用方法/demo.php?url=http://v.youku.com/v_show/id_XMzkyODA2NTEy.html echo getYoukuFlv($_GET['url']); function getYoukuFlv($url){ preg_match("#id_(.*?)\.html#",$url,$out); $id=$out[1]; $content=get_curl_contents('
-
解析PHP实现下载文件的两种方法
方法一: 复制代码 代码如下: header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filepath)); header('Content-Transfer-Encoding: binary'); header('Expires: 0′
-
解析如何在PHP下载文件名中解决乱码的问题
通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来下载,相信这个大家都会.那么用Content-Disposition设置下载的文件名,这个也有不少人知道吧.基本上,下载程序都是这么写的: 复制代码 代码如下: $filename = "document.txt";header('Content-Type: application/octet-stream');header('Content-Disposition: a
-
解决PHP超大文件下载,断点续传下载的方法详解
最近导出的时候出现一个php内存溢出的问题,原因就是在于下载的时候读取生成的临时文件过大,PHP内存无法容纳,一开如是想到更改PHP内存限制,但是这个只是一个缓兵之计,于是想到了另外一个方法是把文件分次读取,并下载. 以下是源代码: 复制代码 代码如下: <?php $sourceFile = "1.tmp"; //要下载的临时文件名 $outFile = "用户订单.xls"; //下载保存到客户端的文件名 $file_extension = strtolo
-
php 强制下载文件实现代码
复制代码 代码如下: <?php $file = 'monkey.gif'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); hea
-
php对csv文件的读取,写入,输出下载操作详解
复制代码 代码如下: <?php $file = fopen('text.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 $goods_list[] = $data; }//print_r($goods_list);echo $goods_list[0][1]; fclose($file);
-
php读取csv实现csv文件下载功能
第一段是读文件,下载.第二段是字符串下载. 复制代码 代码如下: <?php$fileName = "prefs.csv";header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=' . $fileName);header('Content-Transfer-Encoding: binary');header('Content-Length
随机推荐
- 详解docker强制批量删除none的image镜像
- bootstrap表格分页实例讲解
- 用vbs实现定时运行web文件的方法
- Android ListView的item背景色设置和item点击无响应的解决方法
- 详解Java中多进程编程的实现
- 解决报错ora-32035的方法分析
- laravel 5 实现模板主题功能
- 在Python的Django框架中创建语言文件
- 音量控制键控制的音频流(setVolumeControlStream)描述
- 每日十条JavaScript经验技巧(一)
- PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
- PHP时间类完整实例(非常实用)
- Quoted-printable 编码介绍、Quoted-printable编码解码转换方法
- C语言实现数据结构和双向链表操作
- sql2005 存储过程分页代码
- 据说是Google首页的网页模块拖动代码
- PHP目录函数实现创建、读取目录教程实例
- vs代码段快捷键设置(图文)
- Firefox2中输入框丢失光标bug的解决方法
- android实现记事本app