【转】php 下载保存文件保存到本地的两种实现方法
来源:http://www.jb51.net/article/40485.htm
第一种:
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" ); header( "Content-type: application/octet-stream " ); header( "Accept-Ranges: bytes " ); header( "Content-Disposition: attachment; filename= {$date}.doc" ); $size =readfile( $filename ); 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 (); ?> |
第一种:
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" ); header( "Content-type: application/octet-stream " ); header( "Accept-Ranges: bytes " ); header( "Content-Disposition: attachment; filename= {$date}.doc" ); $size =readfile( $filename ); 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 (); ?> |
【转】php 下载保存文件保存到本地的两种实现方法的更多相关文章
- php 下载保存文件保存到本地的两种实现方法
这里的下载,指的是 弹出下载提示框. 第一种: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function downfile() { $filename ...
- javascript文件夹选择框的两种解决方案
javascript文件夹选择框的两种解决方案 解决方案1:调用windows 的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolder()函数,它 ...
- web.config文件中配置数据库连接的两种方式
web.config文件中配置数据库连接的两种方式 标签: 数据库webconfig 2015-04-28 18:18 31590人阅读 评论(1)收藏举报 分类: 数据库(74) 在网站开发 ...
- 文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0
实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制, ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- Java学习-014-文本文件写入实例源代码(两种写入方式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...
- Java学习-013-文本文件读取实例源代码(两种数据返回格式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...
- jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...
- JAVA文件的两种读取方法和三种写入方法
在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...
随机推荐
- POJ3254Corn Fields(状态压缩DP入门)
题目链接 题意:一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻.问有多少种放牛方案(一 ...
- C#------如何取出exe运行文件给客户使用
1.将解决方案配置里面的“Debug”转换成“Release” 2.右击“解决方案”,选着“重新生成解决方案”,以得到最新的版本 3.找到工程目录下的“bin”文件夹,里面有“Release”文件夹, ...
- Java Web之Servlet
Servlet参考文献: 1.http://www.cnblogs.com/luoxn28/p/5460073.html 2.http://www.cnblogs.com/xdp-gacl/p/376 ...
- CodeForces 698A Vacations
题目链接 : http://codeforces.com/problemset/problem/698/A 题目大意: 阿Q有n天假期,假期中有三种安排 休息.健身.比赛.每天有三种选择条件: 0 健 ...
- FingerGestures for Unity3D
FingerGestures http://fingergestures.fatalfrog.com
- FBX Transformation
2010: http://download.autodesk.com/us/fbx/20102/FBX_SDK_Help/index.html?url=WS1a9193826455f5ff3913a1 ...
- ubuntu网络设置
修改/etc/network/interfaces文件sudo gedit /etc/network/interfaces 贴出我的eth0设置,自己看情况修改:# The primary netwo ...
- android 点击屏幕关闭 软键盘
//点击屏幕 关闭输入弹出框 @Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager im = (I ...
- Spring与Quartz的整合实现定时任务调度 以及crontab的用法
最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考. 我使用的是Maven来管理项目,需要的Jar包我给大家贴 ...
- 浅谈JavaScript中的Ajax
引言 作为一名WEB开发者,我想Ajax技术是一定需要掌握的.你也许平时没有使用JavaScript真正的写过Ajax.但是你一定使用过JQuery里面的相关函数来进行异步调用.今天我们就来介绍下原生 ...