thinkphp 使用http扩展类 下载png等图片格式文件正常,但是下载doc,zip等文件时没有后缀

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 使用http扩展类 下载png等图片格式文件正常,但是下载doc,zip等文件时没有后缀相关的知识,希望对你有一定的参考价值。

上传正常,下载png也是正常,就是doc,zip这类的文件下载下来,没有后缀打不开。怎么个情况呢?

header 制定的下载类型不对,
$extension=pathinfo($file, PATHINFO_EXTENSION);
switch ($extension)
case "jpg":
case "jpeg": $ctype="image/jpeg"; break;
case "pdf": $ctype="application/pdf"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "doc": $ctype="application/msword"; break;
case "zip": $ctype="application/zip";break;
case "rar": $ctype="application/rar"; break;
case "mp3": $ctype="audio/mpeg3"; break;
case "avi": $ctype="video/avi"; break;
case "doc": $ctype="application/msword";break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "wav": $ctype="audio/wav"; break;
case "htm": $ctype="text/html"; break;
case "txt": $ctype="text/plain"; break;
case "flv": $ctype="flv-application/octet-stream"; break;
case "mp4": $ctype="video/mp4"; break;
default: $ctype="application/force-download"; //$ctype="application/octet-stream";

header("Content-type: ". $ctype);
参考技术A 下载这里文件如果没问题,加个后缀就能打开的话,那就是你文件名设置的有问题,只要获取上传的文件名加在后面就行了

以上是关于thinkphp 使用http扩展类 下载png等图片格式文件正常,但是下载doc,zip等文件时没有后缀的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP - 验证码

ThinkPHP - 文件上传

ThinkPHP数据分页Page.class.php

ThinkPHP Http工具类(用于远程采集 远程下载) phpSimpleHtmlDom采集类库_Jquery筛选方式 使用phpQuery轻松采集网页内容

Thinkphp 5 怎么在控制器引入thinkphp\vendor 的第三方扩展

thinkphp实现文件的下载