php 下载保存文件保存到本地的两种实现方法
这里的下载,指的是 弹出下载提示框。
第一种:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php functiondownfile(){ $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");  echofile_get_contents($filename); readfile($filename); }downfile();?> | 
或 (推荐这种方法,亲测可行,其他的没测试)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php functiondownfile($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 functiondownfile($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 下载保存文件保存到本地的两种实现方法
		来源:http://www.jb51.net/article/40485.htm 第一种: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function d ... 
- 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.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ... 
随机推荐
- ngRx 官方示例分析 - 6 - Effect
			@ngrx/effect 前面我们提到,在 Book 的 reducer 中,并没有 Search 这个 Action 的处理,由于它需要发出一个异步的请求,等到请求返回前端,我们需要根据返回的结果来 ... 
- SQLITE3 使用总结(3~5)(转)
			3 不使用回调查询数据库/ `- ^# T6 ?, F: H* m2 ~# ~上 面介绍的 sqlite3_exec 是使用回调来执行 select 操作.还有一个方法可以直接查询而不需要回调.但是, ... 
- Java并发编程:Thread类的使用(转载)
			一:线程的状态: 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解. 线程从创建到最终的消亡,要经历若干个状态.一般来说,线程 ... 
- SecurityException
			摘录自http://www.cnblogs.com/haorenjie/archive/2012/09/12/2682655.html public boolean checkNetwork() { ... 
- PowerDesigner设置null约束
			在PDM的表属性的字段列表中每行最后的P,F,M中的M(Mandatory)打勾就可以了,这样在生成的SQL中会变成not NULL Mandatory:强制的,不知道是不是可以理解为必须赋值的 
- JavaScript总结学习一:js中构造函数与普通函数的区别
			构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ... 
- programing
			body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ... 
- Maven1-HelloWorld简单入门
			编写POM(Project Object Model) Maven项目的核心是pom.xml,它定义了项目的基本信息,用于描述项目如何构建,声明项目依赖 创建文件夹,名称为hello-world 创建 ... 
- 存储管理工具StorageExplorer的基本使用
			本文主要介绍Azure StorageExplorer工具的安装及基本使用 1.打开Azure官方链接:https://www.azure.cn/downloads/ 2.按照向导进行安装 3.可以通 ... 
- linux_软件安装策略和升级策略
			运维3大原则:可靠.稳定.简单 尝试新的软件,一切都是未知的,也就是说不可靠,不可预测也就意味的不稳定,解决问题,通过百度和谷歌工具有可能找不到解决方法,只能通过官方文档来解决问题,大大增加了排错时间 ... 
