接口如何通过PHP将文件以流的方式发送客户端

接口如何通过PHP将文件以流的方式发送客户端,第1张

1、在有模板的基础上,针对客户的定制下载。

2、一些浏览器本身能够表示的文件类型(如txt文件),可以通过将头信息Content-Type改为 header("Content-Type: application/force-download")进行强制下载。

3、对于一些动态生成文件,比如TXT/CSV等文件,将临时文件及时删除

<?php

/**

 * 本程序实现了将测试文件[test.pdf]创建副本,并将副本读入

 * 内存,以流的方式发送给客户端浏览器,最终删除副本的 *** 作。

 * 

 * 本文可以实现的需求:

 *   1、在有模板的基础上,针对客户的定制下载。

 *   2、一些浏览器本身能够表示的文件类型(如txt文件),可以通过将头信息Content-Type

 *      改为 header("Content-Type: application/force-download")进行强制下载。

 *   3、对于一些动态生成文件,比如TXT/CSV等文件,可以将临时文件及时删除

 * @author Densin.Tian@CisternData 2015/05/05

 */

// 文件名扩展名

$fileExName = ".pdf"

 

// 原始文件文件名

$oldFileMainName = "testfile"

 

// 获得时间戳 YYYYMMDDHHMISS

$timestamp = date ( "YmdHis", time () )

 

// 新文件名

$newFileName = $oldFileMainName . $timestamp

 

 

// 复制文件

if (! copy ( $oldFileMainName . $fileExName, $newFileName . $fileExName )) {

die ( "failed to copy" )

}

 

// 设置下载头信息

header ( "Content-Type: application/pdf" )

header ( "Content-Disposition: attachment filename=20150505.pdf" )

 

// 文件流输出到浏览器

readfile ( $newFileName . $fileExName )

 

// 删除文件

@unlink ( $newFileFullName )

---------------------

一般来说要通过介质传输的。例如移动硬盘u盘等。

如果非要电脑之间传输,usb连接线不能解决。请考虑配置红外借口,现在有一种插在usb接口上的红外装置,但是能不能达到你的要求就不知道了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/8073599.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存