首页 > php开发 > php 文件下载方法

php 文件下载方法

文章也很简单我们只要用利用head发送头部信息就能实现把文件下载到本地了,有直接发送header信息也有把文件保存在服务器上再用header来发送哦,有需要的朋友参考下。

用的是表头方式下载,代码如下:

Header( "Content-type:application/octet-stream ");  
Header( "Accept-Ranges:bytes ");  
Header( "Accept-Length:".filesize($file_dir.$file_name));  
Header( "Content-Disposition:attachment;filename= ".$file_name);

判断文件存在再下载代码如下:

<?php
if (isset($_REQUEST["download"])) {
    $tfile = $_REQUEST["download"];
    if (file_exists($tfile)) {
        $downfilename = substr($tfile, strrpos($tfile, "/") + 1);
        //文件保存的名字可以修改为你需要的,可以和链接给的名字不一样
        // Prompt the user to download the new torrent file.
        header("Content-type: application/octet-streamn");
        header("Content-disposition: attachment; filename=$downfilenamen");
        header("Content-transfer-encoding: binaryn");
        header("Content-length: " . @filesize($tfile) . "n");
        // Send the torrent file
        $fp = @fopen($tfile, "r");
        @fpassthru($fp);
        @fclose($fp);
    }
    exit();
}
?>

pdf文件下载,代码如下:

<?php
$filename = $_SERVER['DOCUMENT_ROOT'] . "/path/to/file/my_file.pdf";
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=' . basename($filename));
header("Content-Type: application/pdf"); //pdf格式的
?>

下面讲讲header中的Content-type,不同的下载文件,对应不同的content-type,下面是大全:

{ 
	'ez' => 'application/andrew-inset', 
	'hqx' => 'application/mac-binhex40', 
	'cpt' => 'application/mac-compactpro', 
	'doc' => 'application/msword', 
	'bin' => 'application/octet-stream', 
	'dms' => 'application/octet-stream', 
	'lha' => 'application/octet-stream',  
	'lzh' => 'application/octet-stream', 
	'exe' => 'application/octet-stream', 
	'class' => 'application/octet-stream', 
	'so' => 'application/octet-stream', 
	'dll' => 'application/octet-stream', 
	'oda' => 'application/oda', 
	'pdf' => 'application/pdf', 
	'ai' => 'application/postscript', 
	'eps' => 'application/postscript', 
	'ps' => 'application/postscript', 
	'smi' => 'application/smil', 
	'smil' => 'application/smil', 
	'mif' => 'application/vnd.mif', 
	'xls' => 'application/vnd.ms-excel', 
	'ppt' => 'application/vnd.ms-powerpoint', 
	'wbxml' => 'application/vnd.wap.wbxml', 
	'wmlc' => 'application/vnd.wap.wmlc', 
	'wmlsc' => 'application/vnd.wap.wmlscriptc', 
	'bcpio' => 'application/x-bcpio', 
	'vcd' => 'application/x-cdlink', 
	'pgn' => 'application/x-chess-pgn', 
	'cpio' => 'application/x-cpio', 
	'csh' => 'application/x-csh',  
	'dcr' => 'application/x-director', 
	'dir' => 'application/x-director', 
	'dxr' => 'application/x-director', 
	'dvi' => 'application/x-dvi', 
	'spl' => 'application/x-futuresplash', 
	'gtar' => 'application/x-gtar', 
	'hdf' => 'application/x-hdf', 
	'js' => 'application/x-javascript', 
	'skp' => 'application/x-koan', 
	'skd' => 'application/x-koan', 
	'skt' => 'application/x-koan', 
	'skm' => 'application/x-koan', 
	'latex' => 'application/x-latex', 
	'nc' => 'application/x-netcdf', 
	'cdf' => 'application/x-netcdf', 
	'sh' => 'application/x-sh', 
	'shar' => 'application/x-shar', 
	'swf' => 'application/x-shockwave-flash', 
	'sit' => 'application/x-stuffit', 
	'sv4cpio' => 'application/x-sv4cpio', 
	'sv4crc' => 'application/x-sv4crc', 
	'tar' => 'application/x-tar', 
	'tcl' => 'application/x-tcl', 
	'tex' => 'application/x-tex',  
	'texinfo' => 'application/x-texinfo', 
	'texi' => 'application/x-texinfo', 
	't' => 'application/x-troff', 
	'tr' => 'application/x-troff', 
	'roff' => 'application/x-troff', 
	'man' => 'application/x-troff-man', 
	'me' => 'application/x-troff-me', 
	'ms' => 'application/x-troff-ms', 
	'ustar' => 'application/x-ustar', 
	'src' => 'application/x-wais-source', 
	'xhtml' => 'application/xhtml+xml', 
	'xht' => 'application/xhtml+xml',  
	'zip' => 'application/zip', 
	'au' => 'audio/basic', 
	'snd' => 'audio/basic', 
	'mid' => 'audio/midi', 
	'midi' => 'audio/midi', 
	'kar' => 'audio/midi', 
	'mpga' => 'audio/mpeg', 
	'mp2' => 'audio/mpeg', 
	'mp3' => 'audio/mpeg', 
	'aif' => 'audio/x-aiff', 
	'aiff' => 'audio/x-aiff', 
	'aifc' => 'audio/x-aiff', 
	'm3u' => 'audio/x-mpegurl', 
	'ram' => 'audio/x-pn-realaudio', 
	'rm' => 'audio/x-pn-realaudio', 
	'rpm' => 'audio/x-pn-realaudio-plugin', 
	'ra' => 'audio/x-realaudio', 
	'wav' => 'audio/x-wav', 
	'pdb' => 'chemical/x-pdb', 
	'xyz' => 'chemical/x-xyz', 
	'bmp' => 'image/bmp', 
	'gif' => 'image/gif', 
	'ief' => 'image/ief', 
	'jpeg' => 'image/jpeg', 
	'jpg' => 'image/jpeg', 
	'jpe' => 'image/jpeg',  
	'png' => 'image/png', 
	'tiff' => 'image/tiff', 
	'tif' => 'image/tiff', 
	'djvu' => 'image/vnd.djvu', 
	'djv' => 'image/vnd.djvu', 
	'wbmp' => 'image/vnd.wap.wbmp', 
	'ras' => 'image/x-cmu-raster', 
	'pnm' => 'image/x-portable-anymap', 
	'pbm' => 'image/x-portable-bitmap', 
	'pgm' => 'image/x-portable-graymap', 
	'ppm' => 'image/x-portable-pixmap', 
	'rgb' => 'image/x-rgb',  
	'xbm' => 'image/x-xbitmap', 
	'xpm' => 'image/x-xpixmap', 
	'xwd' => 'image/x-xwindowdump', 
	'igs' => 'model/iges', 
	'iges' => 'model/iges', 
	'msh' => 'model/mesh', 
	'mesh' => 'model/mesh', 
	'silo' => 'model/mesh', 
	'wrl' => 'model/vrml', 
	'vrml' => 'model/vrml', 
	'css' => 'text/css', 
	'html' => 'text/html', 
	'htm' => 'text/html',  
	'asc' => 'text/plain', 
	'txt' => 'text/plain', 
	'rtx' => 'text/richtext', 
	'rtf' => 'text/rtf', 
	'sgml' => 'text/sgml', 
	'sgm' => 'text/sgml', 
	'tsv' => 'text/tab-separated-values', 
	'wml' => 'text/vnd.wap.wml', 
	'wmls' => 'text/vnd.wap.wmlscript', 
	'etx' => 'text/x-setext', 
	'xsl' => 'text/xml', 
	'xml' => 'text/xml', 
	'mpeg' => 'video/mpeg', 
	'mpg' => 'video/mpeg', 
	'mpe' => 'video/mpeg', 
	'qt' => 'video/quicktime', 
	'mov' => 'video/quicktime', 
	'mxu' => 'video/vnd.mpegurl', 
	'avi' => 'video/x-msvideo', 
	'movie' => 'video/x-sgi-movie', 
	'ice' => 'x-conference/x-cooltalk', 
	}

               
               

本文地址:http://www.phprm.com/develop/fs1004.html

转载随意,但请附上文章地址:-)

标签:文件下载 php

相关文章

发表留言