php 在web端读出pdf 下载

<?php
// 表示调用文本类型为pdf的应用
header(‘Content-type: application/pdf‘);

// 这句可以输出下载页面进行下载
header(‘Content-Disposition: attachment; filename="downloaded.pdf"‘);

// 能够读出pdf
readfile(‘original.pdf‘);
?>

  

实现各种文件的下载方法:

<?php 

$file="N1.PDF";

downloadFile($file);
function downloadFile( $fullPath ){ 

  // Must be fresh start
  if( headers_sent() )
    die(‘Headers Sent‘); 

  // Required for some browsers
  if(ini_get(‘zlib.output_compression‘))
    ini_set(‘zlib.output_compression‘, ‘Off‘); 

  // File Exists?
  if( file_exists($fullPath) ){ 

    // Parse Info / Get Extension
    $fsize = filesize($fullPath);
    $path_parts = pathinfo($fullPath);
    $ext = strtolower($path_parts["extension"]); 

    // Determine Content Type
    switch ($ext) {
      case "pdf": $ctype="application/pdf"; break;
      case "exe": $ctype="application/octet-stream"; break;
      case "zip": $ctype="application/zip"; break;
      case "doc": $ctype="application/msword"; break;
      case "xls": $ctype="application/vnd.ms-excel"; break;
      case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
      case "gif": $ctype="image/gif"; break;
      case "png": $ctype="image/png"; break;
      case "jpeg":
      case "jpg": $ctype="image/jpg"; break;
      default: $ctype="application/force-download";
    } 

    header("Pragma: public"); // required
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); // required for certain browsers
    header("Content-Type: $ctype");
    header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$fsize);
    ob_clean();
    flush();
    readfile( $fullPath ); 

  } else
    die(‘File Not Found‘); 

}

?>

  

时间: 2024-10-09 10:24:10

php 在web端读出pdf 下载的相关文章

《Docker技术入门与实战第3版2018版》高清中文PDF下载

<Docker技术入门与实战第3版2018版>高清中文PDF下载资料简介:本书从Docker基本原理开始,深入浅出地讲解Docker的构建与操作,内容系统全面,可帮助开发人员.运维人员快速部署Docker应用.本书分为四大部分:基础入门.实战案例.进阶技能.开源项目,*部分(第1-8章)介绍Docker与虚拟化技术的基本概念,包括安装.镜像.容器.仓库.数据卷.端口映射等:第二部分(第9-16章)通过案例介绍Docker的应用方法,包括与各种操作系统平台.SSH服务的镜像.Web服务器与应用.

跟我学SpringMVC目录汇总贴、PDF下载、源码下载

跟我学SpringMVC目录汇总贴.PDF下载.源码下载 http://jinnianshilongnian.iteye.com/blog/1752171 跟开涛学SpringMVC 在线版目录 第一章 Web MVC简介 第二章 Spring MVC入门 第三章 DispatcherServlet详解 第四章 Controller接口控制器详解(1) 第四章 Controller接口控制器详解(2) 第四章 Controller接口控制器详解(3) 第四章 Controller接口控制器详解(

Asp.net SignalR 实现服务端消息推送到Web端

原文:http://www.cnblogs.com/wintersun/p/4148223.html 之前的文章介绍过Asp.net SignalR,  ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.  今天我们来实现服务端消息推送到Web端,   首先回顾一下它抽象层次图是这样的: 实际上 Asp.net SignalR 2 实现 服务端消息推送到Web端, 更加简单. 为了获取更好的可伸缩性, 我们引入消息队列, 看如下

Web端测试和移动端测试的区别

之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别: 1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记. 对于移动端设备可以用手机自带的截图工具来截图然后传到电脑上,个人一般习惯安装微信的windows版本,通过文件传输助手发送到PC端.还有一种比较便捷的方式,将手机用数据线连接到电脑,本地配置android的运行环境,下载asm.jar,在cmd运行java -jar asm.jar,即可实时

web端和手机端测试有什么不同

面试中经常被问到web端测试和手机端测试有什么相同点和区别呢?现在总结一下这个问题,如有不对敬请指正 web端和手机端测试有什么区别 1.相同点 不管是web测试还是手机App测试,都离不开测试的相关知识,测试用例设计方法和测试原理基本是相通的. 2.不同点 相对于web测试,手机APP测试,除了要考虑软件的功能.性能.系统稳定性测试外,还要考虑手机本身所具有的特性.具体表现在以下几个方面: ①中断测试 a.电话中断:来电接听.来电挂断.呼叫挂断/接听 b.短信中断:接收短信.查看短信.复制短信

《物联网框架ServerSuperIO教程》-22.Web端对传感器实时监测与控制。附:v3.6.8版本,支持WebSocket

1.ServerSuperIO v3.6.8更新内容 1.1 增加WebSocket服务端功能,支持自控模式.并发模式.单例模式,不支持轮询模式1.2 接收数据缓存与现有的IO实例分离.1.3 优化代码. 2.监测与控制的结构图 3.Web端对传感器监测与控制,视频教程内容 插件化驱动的开发,然后挂载驱动运行.有人网友理解上有误区. 如何发送数据 服务实例的代理交互的角色 设备驱协传递数据到服务实例 服务实例接受控制命令,并控制设备驱动 操作效果: 视频教程说明:(高清视频下载:http://p

第二天,关于sip的学习(试着去架构个web端网络电话连接下可参考sip.js。通过web拨打电话)(3)

这个是一直想去操作的,因为这个和我第一天说的web端的客户管理系统想关联,不可能一直用软件拨打,最好还是可以通过web去拨打网络电话 试着去学习下sip.js..弄明白 先问下百度先生吧..讲sip.js一些源码下载下来分析下吧 下载了sip.js  下载地址http://sipjs.com/download/ 无意间学了一个  再配置文件中更改端口号的地方 找到freeSWITCH安装目录下的conf\sip_profiles\internal.xml.取消注释以下行 <param name=

上传web端——个人项目

我用visual studio新建了一个web窗口,如图: 然后这里是系统自带的代码: [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行. // [System.Web.Script.Services.ScriptService] public

WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行

最近项目涉及到较多设备批量管理的需求,发现一工具,可以批量对大量设备进行WEB端管理,工具主页:https://openstf.github.io/工具名STF(Smartphone Test Farm) STF (or Smartphone Test Farm) is a web application for debugging smartphones, smartwatches and other gadgets remotely, from the comfort of your bro