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 )
---------------------
直接将文件流内容写入文件,而文件的后缀名设为 pdf 格式就可以了;PHP 不管保存文件流还是文本,都含歼是用这种方式;
$path = "demo.pdf"$ret = file_put_contents($path, $arr['data'])
if ($ret) {
echo '保存成功谈改冲' 歼歼// 然后可以取查看文件
}
$content = $_POST['data']$fp = fopen('/tmp/newfile.bin','w')
fwrite($fp,$content)
以上例慧羡子是在data参数上传二进制,并档首保存到/tmp/newfile.bin中,解析json用json_decode,然后把前蠢拍二进制的那个值赋给content就可以
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)