PHP下载或导出文件时的若干问题
来源:互联网 发布:淘宝店食品经营许可证 编辑:程序博客网 时间:2024/05/22 12:19
1、如何隐藏文件的真实物理地址?
通过动态脚本读取文件内容并输出,这样可以避免真实的物理地址外露。在PHP中有一个常用于文件下载的函数:readfile -- 输出一个文件
int readfile ( string filename [, bool use_include_path [, resource context]] )
读入一个文件并写入到输出缓冲。
返回从文件中读入的字节数。如果出错返回 FALSE 并且除非是以 @readfile() 形式调用,否则会显示错误信息。
2、IE6不能下载文件的BUG以及解决方法。
header("Content-type: application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=".$fileName.".csv");
$tx= "/"姓名/",";
$tx.= "/"邮箱/",";
$tx.= "/"手机/",";
$tx.= "/"地址/",";
$tx.= "/"留言内容/"";
echo $tx;
上面这段代码时用来输出一个 .csv文件。在IE7/IE8/FF 浏览器里都能正常下载,但在IE6下始终提示不能下载,出现下面类似错误信息:
“Internet Explorer 无法下载 exportWords 来自 www.875.cn
Internet Explorer 无法打开Internet站点。请求的站点不可用,或找不到。请以后再试。”
因此确定是IE的问题。查微软的官方网站要下载一个修复程序, 我们不可能因为这个Bug让每一个用户下载一个修复程序!
查资料说原因是IE下载缓存有问题,
加入header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
解决问题。
3、导出.csv文件时,用excel打开,内容混乱。
经查导致混乱的原因是 csv文件内容里含有 " (双引号) 导致的。解决方法是:把内容里的 "(双引号) 替换成单引号或空或其他符号。
(对内容里的双引号进行转义是没有用的。)
4、完整的文件下载或导出头信息。
header('Pragma: public');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding: binary');
header('Content-Encoding: none');
header('Content-type: '.$filetype);//文件类型
header('Content-Disposition: attachment; filename="'.$filename.'"');//文件名称
header('Content-length: '.$filesize);//文件大小
5、下载的cvs或xls文件乱码。
本网站采用了utf-8编码,以csv导出信息文件,excel打开为乱码。 原因是excel打开csv文件默认是以gb2312编码打开的,自然就会乱码了。
解决方法:mb_convert_encoding($content, "GBK","UTF-8"); 把内容从UTF-8转化为GB2312。
- PHP下载或导出文件时的若干问题
- php导出CSV文件乱码或无内容的问题
- 使用FFMPEG导出码流到AVI/MP4文件的若干问题
- 文件共享的若干问题!
- php文件的下载
- java实现xls、csv文件导出或下载
- cocos2d-x 3.0学习一:cocostudio导出UI界面文件的加载及使用的若干问题
- 动态链接库导出函数的若干问题
- 文件关联的若干问题解决方案
- PHP:使用PHPExcel完成电子表格文件的导出下载和导入操作
- PHP导出excel表格文件并下载,不需要利用插件
- struts2实现上传文件时遇到的若干问题
- 关于Google卫星影像下载的若干问题
- 关于火鸟小说下载阅读器的若干问题!
- PHP打包下载整个文件夹或多文件
- PHP打包下载整个文件夹或多文件
- PHP打包下载整个文件夹或多文件
- php下载文件的函数
- 《web数据挖掘》
- 什么是OOA/OOD
- 将iPhone破解的app或者自己开发的app格式安装包打包为ipa格式安装包
- ZOJ 3286 Very Simple Counting
- 内存对齐
- PHP下载或导出文件时的若干问题
- avr单片机 串口实现printf(使用变参函数)
- ce
- 微调按钮
- jsp页面自动定时跳转返回代码
- Android 程序的安装、卸载和更新
- LPT COM RS232 RS232C 并口 串口
- 摘录1
- 一个例子弄懂invoke方法