文件下载

thinkphp5.1

 public function download()
    {
        $download =  new \think\response\Download('image.jpg');
        return $download->name('my.jpg');
        // 或者使用助手函数完成相同的功能
        // download是系统封装的一个助手函数
        return download('image.jpg', 'my.jpg');
    }
image.png

mime type类型

'apk' => 'application/vnd.android.package-archive',

'3gp' => 'video/3gpp',

'ai' => 'application/postscript',

'aif' => 'audio/x-aiff',

'aifc' => 'audio/x-aiff',

'aiff' => 'audio/x-aiff',

'asc' => 'text/plain',

'atom' => 'application/atom+xml',

'au' => 'audio/basic',

'avi' => 'video/x-msvideo',

'bcpio' => 'application/x-bcpio',

'bin' => 'application/octet-stream',

'bmp' => 'image/bmp',

'cdf' => 'application/x-netcdf',

'cgm' => 'image/cgm',

'class' => 'application/octet-stream',

'cpio' => 'application/x-cpio',

'cpt' => 'application/mac-compactpro',

'csh' => 'application/x-csh',

'css' => 'text/css',

'dcr' => 'application/x-director',

'dif' => 'video/x-dv',

'dir' => 'application/x-director',

'djv' => 'image/vnd.djvu',

'djvu' => 'image/vnd.djvu',

'dll' => 'application/octet-stream',

'dmg' => 'application/octet-stream',

'dms' => 'application/octet-stream',

'doc' => 'application/msword',

'dtd' => 'application/xml-dtd',

'dv' => 'video/x-dv',

'dvi' => 'application/x-dvi',

'dxr' => 'application/x-director',

'eps' => 'application/postscript',

'etx' => 'text/x-setext',

'exe' => 'application/octet-stream',

'ez' => 'application/andrew-inset',

'flv' => 'video/x-flv',

'gif' => 'image/gif',

'gram' => 'application/srgs',

'grxml' => 'application/srgs+xml',

'gtar' => 'application/x-gtar',

'gz' => 'application/x-gzip',

'hdf' => 'application/x-hdf',

'hqx' => 'application/mac-binhex40',

'htm' => 'text/html',

'html' => 'text/html',

'ice' => 'x-conference/x-cooltalk',

'ico' => 'image/x-icon',

'ics' => 'text/calendar',

'ief' => 'image/ief',

'ifb' => 'text/calendar',

'iges' => 'model/iges',

'igs' => 'model/iges',

'jnlp' => 'application/x-java-jnlp-file',

'jp2' => 'image/jp2',

'jpe' => 'image/jpeg',

'jpeg' => 'image/jpeg',

'jpg' => 'image/jpeg',

'js' => 'application/x-javascript',

'kar' => 'audio/midi',

'latex' => 'application/x-latex',

'lha' => 'application/octet-stream',

'lzh' => 'application/octet-stream',

'm3u' => 'audio/x-mpegurl',

'm4a' => 'audio/mp4a-latm',

'm4p' => 'audio/mp4a-latm',

'm4u' => 'video/vnd.mpegurl',

'm4v' => 'video/x-m4v',

'mac' => 'image/x-macpaint',

'man' => 'application/x-troff-man',

'mathml' => 'application/mathml+xml',

'me' => 'application/x-troff-me',

'mesh' => 'model/mesh',

'mid' => 'audio/midi',

'midi' => 'audio/midi',

'mif' => 'application/vnd.mif',

'mov' => 'video/quicktime',

'movie' => 'video/x-sgi-movie',

'mp2' => 'audio/mpeg',

'mp3' => 'audio/mpeg',

'mp4' => 'video/mp4',

'mpe' => 'video/mpeg',

'mpeg' => 'video/mpeg',

'mpg' => 'video/mpeg',

'mpga' => 'audio/mpeg',

'ms' => 'application/x-troff-ms',

'msh' => 'model/mesh',

'mxu' => 'video/vnd.mpegurl',

'nc' => 'application/x-netcdf',

'oda' => 'application/oda',

'ogg' => 'application/ogg',

'ogv' => 'video/ogv',

'pbm' => 'image/x-portable-bitmap',

'pct' => 'image/pict',

'pdb' => 'chemical/x-pdb',

'pdf' => 'application/pdf',

'pgm' => 'image/x-portable-graymap',

'pgn' => 'application/x-chess-pgn',

'pic' => 'image/pict',

'pict' => 'image/pict',

'png' => 'image/png',

'pnm' => 'image/x-portable-anymap',

'pnt' => 'image/x-macpaint',

'pntg' => 'image/x-macpaint',

'ppm' => 'image/x-portable-pixmap',

'ppt' => 'application/vnd.ms-powerpoint',

'ps' => 'application/postscript',

'qt' => 'video/quicktime',

'qti' => 'image/x-quicktime',

'qtif' => 'image/x-quicktime',

'ra' => 'audio/x-pn-realaudio',

'ram' => 'audio/x-pn-realaudio',

'ras' => 'image/x-cmu-raster',

'rdf' => 'application/rdf+xml',

'rgb' => 'image/x-rgb',

'rm' => 'application/vnd.rn-realmedia',

'roff' => 'application/x-troff',

'rtf' => 'text/rtf',

'rtx' => 'text/richtext',

'sgm' => 'text/sgml',

'sgml' => 'text/sgml',

'sh' => 'application/x-sh',

'shar' => 'application/x-shar',

'silo' => 'model/mesh',

'sit' => 'application/x-stuffit',

'skd' => 'application/x-koan',

'skm' => 'application/x-koan',

'skp' => 'application/x-koan',

'skt' => 'application/x-koan',

'smi' => 'application/smil',

'smil' => 'application/smil',

'snd' => 'audio/basic',

'so' => 'application/octet-stream',

'spl' => 'application/x-futuresplash',

'src' => 'application/x-wais-source',

'sv4cpio' => 'application/x-sv4cpio',

'sv4crc' => 'application/x-sv4crc',

'svg' => 'image/svg+xml',

'swf' => 'application/x-shockwave-flash',

't' => 'application/x-troff',

'tar' => 'application/x-tar',

'tcl' => 'application/x-tcl',

'tex' => 'application/x-tex',

'texi' => 'application/x-texinfo',

'texinfo' => 'application/x-texinfo',

'tif' => 'image/tiff',

'tiff' => 'image/tiff',

'tr' => 'application/x-troff',

'tsv' => 'text/tab-separated-values',

'txt' => 'text/plain',

'ustar' => 'application/x-ustar',

'vcd' => 'application/x-cdlink',

'vrml' => 'model/vrml',

'vxml' => 'application/voicexml+xml',

'wav' => 'audio/x-wav',

'wbmp' => 'image/vnd.wap.wbmp',

'wbxml' => 'application/vnd.wap.wbxml',

'webm' => 'video/webm',

'wml' => 'text/vnd.wap.wml',

'wmlc' => 'application/vnd.wap.wmlc',

'wmls' => 'text/vnd.wap.wmlscript',

'wmlsc' => 'application/vnd.wap.wmlscriptc',

'wmv' => 'video/x-ms-wmv',

'wrl' => 'model/vrml',

'xbm' => 'image/x-xbitmap',

'xht' => 'application/xhtml+xml',

'xhtml' => 'application/xhtml+xml',

'xls' => 'application/vnd.ms-excel',

'xml' => 'application/xml',

'xpm' => 'image/x-xpixmap',

'xsl' => 'application/xml',

'xslt' => 'application/xslt+xml',

'xul' => 'application/vnd.mozilla.xul+xml',

'xwd' => 'image/x-xwindowdump',

'xyz' => 'chemical/x-xyz',

'zip' => 'application/zip' 

图片文件转成pdf文件下载(单张图片或者多张图片)

composer require tecnickcom/tcpdf
public function download(){
        $content='sssss';
        $title ='ttttt';
/*      $logo  ='public/images/4.jpg';*/
        $logo =['public/images/4.jpg','public/images/4.jpg'];

    require 'vendor/tecnickcom/tcpdf/tcpdf.php';
    $pdf  = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->SetCreator(PDF_CREATOR);
    $pdf->SetAuthor("作者");//设置作者
    $pdf->SetTitle($title);
    $pdf->SetSubject('TCPDF Tutorial');
    //$pdf->SetKeywords('TCPDF, PDF, example, test, guide');//设置关键字
    // 是否显示页眉
    $pdf->setPrintHeader(false);
    // 设置页眉显示的内容
    //$pdf->SetHeaderData($logo, 60, '', '');
    // 设置页眉字体
    //$pdf->setHeaderFont(Array('deja2vusans', '', '12'));
    // 页眉距离顶部的距离
    $pdf->SetHeaderMargin('5');
    // 是否显示页脚
    //$pdf->setPrintFooter(true);
    // 设置页脚显示的内容
    //$pdf->setFooterData(array(0,64,0), array(0,64,128));
    // 设置页脚的字体
    //$pdf->setFooterFont(Array('dejavusans', '', '10'));
    // 设置页脚距离底部的距离
    //$pdf->SetFooterMargin('10');
    // 设置默认等宽字体
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    // 设置行高
    $pdf->setCellHeightRatio(1.5);
    // 设置左、上、右的间距
    $pdf->SetMargins('15', '15', '15');
    // set auto page breaks
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    // 设置字体
    //$pdf->SetFont('', '', 12, '', true);
    // 设置是否自动分页 距离底部多少距离时分页
    //$pdf->SetAutoPageBreak(TRUE, '15');
    // 设置图像比例因子
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->AddPage("A4","Landscape",true,true);
    //$pdf->writeHTML($content);//HTML生成PDF
     foreach ($logo as $v){
         $pdf->writeHTML('<img src="'.$v.'" width="95"><br>', true, false, true, false, '');
     }//多张图片使用循环
   // $pdf->writeHTML('<img src="'.$logo[0].'" width="95"><br><img src="'.$logo[1].'" width="95">', true, false, true, false, '');//设置logo
    $showType= 'D';//PDF输出的方式。I,在浏览器中打开;D,以文件形式下载;F,保存到服务器中;S,以字符串形式输出;E:以邮件的附件输出。
    $pdf->Output("pdf.pdf", $showType);
    exit();
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,252评论 6 516
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,886评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,814评论 0 361
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,869评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,888评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,475评论 1 312
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,010评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,924评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,469评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,552评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,680评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,362评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,037评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,519评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,621评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,099评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,691评论 2 361

推荐阅读更多精彩内容