php导出与下载文件的方法

发布时间:2019-12-19编辑:脚本学堂
分享一例php导出下载文件的代码,学习下php header函数实现下载指定类型文件的方法,有需要的朋友参考下。

php编程中,如果要将查询结果导出到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);
echo   $data;
?>
 

以上代码实现打开页面后立即出现下载保存窗口,下载的文件为$filename。

部分常用mimetype类型:
 

$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',
    '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', 
);

>>> 您可能感兴趣的文章:
php header函数文件下载时直接提示保存
好用的php header下载函数
php get_headers检测URL是否有效的方法
PHP header函数用法举例
php header函数用法详解举例(2)
php header函数用法举例(1)
php header 使用详解
php header头信息应用举例
php使用header发送各种类型文件下载的例子
PHP中HEADER头消息详解