博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 下载保存文件保存到本地的两种实现方法
阅读量:7113 次
发布时间:2019-06-28

本文共 2233 字,大约阅读时间需要 7 分钟。

这里的下载,指的是 弹出下载提示框。

 

第一种:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function
downfile()
{
 
$filename
=
realpath
(
"resume.html"
);
//文件名
 
$date
=
date
(
"Ymd-H:i:m"
);
 
Header(
"Content-type:  application/octet-stream "
);
 
Header(
"Accept-Ranges:  bytes "
);
Header(
"Accept-Length: "
.
filesize
(
$filename
));
 
header(
"Content-Disposition:  attachment;  filename= {$date}.doc"
);
 
echo
file_get_contents
(
$filename
);
 
readfile(
$filename
);
}
downfile();
?>

(推荐这种方法,亲测可行,其他的没测试)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function downfile($fileurl)
{
 ob_start();
 $filename=$fileurl;
 $date=date("Ymd-H:i:m");
 $size=readfile($filename);
 header( "Content-type:  application/octet-stream ");
 header( "Accept-Ranges:  bytes ");
 header( "Content-Disposition:  attachment;  filename= {$date}.doc"); 
 header( "Accept-Length: " .$size);
}
 $url="url地址";
 downfile($url);
?>

第二种:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function
downfile(
$fileurl
)
{
$filename
=
$fileurl
;
$file 
fopen
(
$filename
,
"rb"
);
Header(
"Content-type:  application/octet-stream "
);
Header(
"Accept-Ranges:  bytes "
);
Header(
"Content-Disposition:  attachment;  filename= 4.doc"
);
$contents
=
""
;
while
(!
feof
(
$file
)) {
 
$contents
.=
fread
(
$file
, 8192);
}
echo
$contents
;
fclose(
$file
);
}
$url
=
"url地址"
;
downfile(
$url
);
?>

PHP实现下载文件的两种方法。分享下,有用到的朋友看看哦。

方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/**
* 下载文件
* header函数
*
*/
header(
'Content-Description: File Transfer'
);
 
header(
'Content-Type: application/octet-stream'
);
header(
'Content-Disposition: attachment; filename='
.
basename
(
$filepath
));
header(
'Content-Transfer-Encoding: binary'
);
header('Expires: 0′);
header('Cache-Control: must-revalidate, post-check=0, pre-check=0′);
header(
'Pragma: public'
);
header(
'Content-Length: '
.
filesize
(
$filepath
));
readfile(
$file_path
);
?>

了解php中header函数的用法。

方法二:

1
2
3
4
5
6
7
8
9
10
<?php
//文件下载
//readfile
$fileinfo
=
pathinfo
(
$filename
);
header(
'Content-type: application/x-'
.
$fileinfo
[
'extension'
]);
header(
'Content-Disposition: attachment; filename='
.
$fileinfo
[
'basename'
]);
header(
'Content-Length: '
.
filesize
(
$filename
));
readfile(
$thefile
);
exit
();
?>

转载于:https://www.cnblogs.com/rxbook/p/6757500.html

你可能感兴趣的文章
HashSet
查看>>
C#读写config配置文件
查看>>
JavaScript:文本域事件处理
查看>>
关于dctser进程
查看>>
Sqoop架构(四)
查看>>
【转】Xcode托管代码到oschina中的教程
查看>>
QTP的那些事 -– Visual Relation Identifier Feature: How to use in the real world
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
查看>>
win7远程登录
查看>>
5.6. DHCP
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能...
查看>>
开始写博客啦啦
查看>>
ajax与算法,sql的group处理
查看>>
《C#高级编程》笔记系列--点滴记录(持续更新中……)
查看>>
采用泳道图工具跟踪项目进度或者问题解决进度
查看>>
sql server 2008学习1–系统数据库
查看>>
找零钱的两种方法
查看>>
DM642图像处理程序的主要结构
查看>>
从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
查看>>
redis的主从配置 扩容
查看>>