如果要将查询结果导出到Excel,只需将页面的Context-Type修改一下就可以了:
header( “Content-Type: application/vnd.ms-excel”>
如果希望能够提供那个打开/保存的对话框,Content-Disposition参数,Content-Disposition参数本来是为了在客户端另存文件时提供一个建议的文件名,但是考虑到安全的原因,就从规范中去掉了这个参数
Content-Disposition参数:
attachment — 作为附件下载
inline — 在线打开
具体使用如:header(“Content-Disposition: inline; filename=文件名.mp3”);
Header(“Content-Disposition:attachment;filename=test.xls”);
其实IE是根据Content-Disposition中filename这个段中文件名的后缀来识别这个文件类型的,所以,
如果有很多种文件类型的时候,可以将Content-Type设置为二进制模式的:
Header(“Content-type: application/octet-stream”);
示例:

<? filename=′./download/d.rar′;filesize = filesize(filename);header("Content−Type:application/force−download");header("Content−Disposition:attachment;filename=".basename(filename)); header( "Content-Length: ".filesize);data = file_get_contents(filename);echodata; ?>

这段代码的意识是打开页面后立即出现下载保存窗口,下载的文件为filename,摘取了常用的部分,其实还有其他一些mimetypes = array(
‘doc’ => ‘application/msword’,
‘bin’ => ‘application/octet-stream’,
‘exe’ => ‘application/octet-stream’,
‘so’ => ‘application/octet-stream’,
‘dll’ => ‘application/octet-stream’,
‘pdf’ => ‘application/pdf’,
‘ai’ => ‘application/postscript’,
‘xls’ => ‘application/vnd.ms-excel’,

‘xlsx’=>

response.setContentType(“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”);

'ppt'        => 'application/vnd.ms-powerpoint',
'dir'        => 'application/x-director',
'js'        => 'application/x-javascript',
'swf'        => 'application/x-shockwave-flash',
'xhtml'        => 'application/xhtml+xml',
'xht'        => 'application/xhtml+xml',
'zip'        => 'application/zip',
'mid'        => 'audio/midi',
'midi'        => 'audio/midi',
'mp3'        => 'audio/mpeg',
'rm'        => 'audio/x-pn-realaudio',
'rpm'        => 'audio/x-pn-realaudio-plugin',
'wav'        => 'audio/x-wav',
'bmp'        => 'image/bmp',
'gif'        => 'image/gif',
'jpeg'        => 'image/jpeg',
'jpg'        => 'image/jpeg',
'png'        => 'image/png',
'css'        => 'text/css',
'html'        => 'text/html',
'htm'        => 'text/html',
'txt'        => 'text/plain',
'xsl'        => 'text/xml',
'xml'        => 'text/xml',
'mpeg'        => 'video/mpeg',
'mpg'        => 'video/mpeg',
'avi'        => 'video/x-msvideo',
'movie'        => 'video/x-sgi-movie',  

);

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐