多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在php文件中,如果不指定header头部信息,那么浏览器默认以text/html超文本格式来解析此文档,如果想打开一个非文本类型的文件,例如图片、视频、pdf文件等,如果不指定header头部信息,那么浏览器就会输出很多的乱码。 例如: echo readfile('a.jpg');//乱码 如果指定头部信息呢? header('Content-type:image/jpg'); $file = fopen('a.jpg','r'); echo fread($file,filesize('a.jpg')); 这样就不会输出乱码,而是在浏览器中在线预览打开这张图片。 所以图片、视频、word文档等不同的文档类型,header头部信息都不一样。 通过header头部信息实现下载功能的时候,可以点击一个a标签连接,然后链接参数是file,在另外一个页面通过读取get全局变量中的file值来打开或下载文档。 $file = $_GET['file']; if(file_exists($file)){ header("Content-type:application/octet-stream"); $fileName = basename($file); header("Content-Disposition:attachment;filename={$fileName}"); header("Accept-ranges:bytes"); header("Accept-length:".filesize($file)); readfile($file); }else{ echo "文件错误!"; }