`
xuyanlu
  • 浏览: 8338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

php 下载方式总结

阅读更多

下载文档的总结

1.出现乱码的原因:1)header头:定义成utf-8的形式

header("Content-type:text/html;charset=utf-8");

2)<metahttp-equiv="Content-type";Content="text/html;charset=utf-8">

3)保存的时候定义成utf-8的格式

4)字符集为utf8的格式 set names utf8

 

需要注意的事项:

 

1.批量下载的思路:

见一个临时的压缩包

把所要下载的文件压缩进压缩包

下载压缩包

删除压缩包,减少磁盘上的资源

2.代码规范:写上注释

3.数组必须付一个初始值 $arr=array()

4.遍历数组的时候必须先判断数组是否为空

5.用cakephp自带的 $this->query

6.穿参数的时候必须给付一个值为空 $id=null

7.批量下载的时候循环不可以,最后一个会把前面的覆盖掉,必须打包

8.更改php.ini中extension=/usr/local/lib/php/extensions/zip.so

然后:zlib.output_compression=Off 改为On

9.上传汉字的时候磁盘上出现乱码:用函数iconv(‘utf-9’,’gbk’,$title);能解决磁盘上乱码的问题

 

第一种的下载方式:

 

第一种下载的方式:直接下载,输入文件的所在目录的路径;

如果是txt的文件,直接输出该文件的内容,doc,pdf的可以

从数据库中取出来,文件存入数据库的时候应该是存入的该文件的路径

echo"<a href='./a.txt'>第一种下载方式</a>";

echo "<ahref=$path>第一种下载方式</a>";

 

第二种的下载方式:

 

想要跳转的文件的路径:

echo"<a href = './special_load.php?ext=txt&name=abc'>高性能的附件下载</a>";

 

$ext = $_GET['ext']; //接收过来的类型

$name= $_GET['name']; //接收过来的名字

$timename= date("Ymd-His"); //下载的时候给文件起的名字

//echo$ext;echo "$nbsp;$nbsp;".$name;exit;

 

header("Content-type:application/octet-stream"); //输出类型是八进制流

header("Acceps-Ranges:bytes"); //接收范围最小单位是字节

header("Content-Disposition:attachment;filename=".$timename.".".$ext); //给下载文件起名字

readfile($name.".".$ext);

 

参考网址:http://www.learf.com/55.html

最好用这一种下载方式:header头写完整的

$ext = $_GET['ext'];

$name= $_GET['name'];

$timename= date("Ymd-His");

header('Pragma: public');

//最后修改时间(缓存的时候可以用到)

header('Last-Modified: '.gmdate('D, d M Y H:i:s'). ' GMT');

http://www.cnblogs.com/yuyii/archive/2008/10/16/1312238.html 参考

Cache-Control 主要控制http的缓存,网页的缓存主要由它控制的

no-store 用于防治重要的信息被无意的发布,在请求消息中发送将使得请求和响应消息都不使用缓存

加must-revalidate是为了验证文件是否过期,如果不加的话,有些浏览器还是会保留部分缓存 意思就是1。强制不缓存 2。浏览器达到的最新资料都是最新的,而不是缓存中的。

No-cache 每次都重复访问,访问此页面不会留下文件夹备份

header('Cache-Control: no-store, no-cache,must-revalidate'); //缓存 。

max-age=5表示:在5秒之内就不会重新访问服务器

// http://www.laruence.com/2010/03/05/1332.html 缓存的参考URL

header('Cache-Control: pre-check=0,post-check=0, max-age=0');

//加载您要下载的文件

header('Content-Transfer-Encoding: binary');

header('Content-Encoding: none');

//header('Content-type: '.'txt');//文件类型

header('Content-type: '.$ext);//文件类型

header("Content-Disposition: attachment;filename=".$timename.".".$ext);//保存对话框中的文件名称

 

//header('Content-Disposition: attachment;filename=”a.txt”');//文件名称

//自定义文件的大小

header('Content-length: 1M');

readfile($name.".".$ext);

 

 

分享到:
评论

相关推荐

    PHP入门学习知识点总结

    - PHP代码可以嵌入HTML中,常见的两种方式是`&lt;?php ... ?&gt;`和`&lt;? ... ?&gt;`。 2. **变量定义** - PHP变量以美元符号 `$` 开始,如 `$myString`, `$int1` 和 `$float1`。 - 变量的数据类型包括字符串、整型、浮点...

    php语法知识总结

    PHP支持命令行运行方式、或者作为Apache扩展的方式在服务器端执行。 - **注释**: 在PHP中,你可以使用`//`或`#`进行单行注释,使用`/* */`进行多行注释。 - **变量声明**: PHP中的变量以`$`符号开始,例如`$var_...

    php二维码生成phpqrcode.zip

    《PHP二维码生成库phpqrcode...总结,PHP QRCode库为PHP开发者提供了一个高效、便捷的二维码生成解决方案。通过理解和掌握这个库,我们可以轻松地将二维码功能融入到各种PHP项目中,提升用户体验,扩大信息传播的范围。

    PHP下载功能流程分析

    总结来说,PHP下载功能实现的核心步骤是: 1. 设置HTTP响应头,指示浏览器进行下载操作。 2. 使用`fopen()`打开文件。 3. 可能需要使用`fread()`或`readfile()`读取文件内容。 4. 使用`fclose()`关闭文件。 5. 在...

    细说php下载 兄弟连

    标题“细说PHP下载 兄弟连”可能意味着这本书是由“兄弟连”机构或者团队编写的。在IT培训领域,特别是在中国,“兄弟连”是一个比较知名的教育品牌,它提供包括PHP在内的多种技术培训课程。因此,这本书可能是...

    PHP大文件下载解决

    传统的PHP文件下载方式是通过`readfile()`或`file_get_contents()`函数读取整个文件内容并输出到浏览器。然而,这种方法对于大文件并不适用,因为它会一次性加载整个文件到内存中,可能导致内存溢出。 为了解决这个...

    php面试总结,php面试总结

    9. **数据库交互**:MySQLi或PDO是PHP与数据库交互的主要方式,理解SQL语句(SELECT, INSERT, UPDATE, DELETE)以及预处理语句的使用。 10. **Session和Cookie**:理解这两者在用户状态管理中的作用,如何设置、...

    php离线rpm包

    总结来说,这个“php离线rpm包”是专为在离线Linux环境中部署PHP而设计的,包含了所有必要的组件,便于通过RPM工具进行快速安装和管理。PHP作为一款功能强大且广泛应用的服务器端脚本语言,它的离线安装包为那些无法...

    PHP实现文件上传与下载实例与总结

    在PHP中实现文件上传与下载涉及多个步骤和配置。首先,我们要理解文件上传的基本原理。文件上传的过程简单来说就是客户端通过HTML表单选择文件,然后使用POST方式提交表单,服务器端接收到文件后将其保存到指定目录...

    php.zip_php 文件下载_卡盟源码下载

    例如,当用户请求下载时,服务器端的PHP脚本会读取文件内容,并设置适当的HTTP头信息,指示浏览器以下载方式处理响应,而不是直接在浏览器窗口显示内容。 ```php header('Content-Type: application/octet-stream')...

    php-5.4.7.tar.gz

    - 下载PHP源码:`wget http://php.net/distributions/php-5.4.7.tar.gz` - 解压并进入目录:`tar -zxvf php-5.4.7.tar.gz && cd php-5.4.7` - 配置编译选项:`./configure --prefix=/usr/local/php --with-config...

    php采集类。含自动下载图片到本地

    总结一下,这个PHP采集类项目提供了一种高效的方式,利用Snoopy类进行网页抓取,自动下载图片到本地,并更新HTML中的图片链接。这种技术在数据分析、内容聚合、搜索引擎优化等领域有着广泛的应用。然而,需要注意的...

    php的安装-以module方式-与apache结合

    本文将详细介绍如何在Windows环境下以module方式安装PHP,并将其与Apache服务器进行结合,实现支持PHP服务的功能。 #### 二、准备工作 在开始之前,请确保已经安装了Apache服务器。如果没有安装Apache,可以从官方...

    php中常见中文乱码处理方法总结

    ### PHP中常见中文乱码处理方法总结 #### 一、PHP网页的编码 在PHP开发过程中,中文乱码是一个常见的问题。这个问题可能出现在不同的场景中,包括网页本身、与MySQL数据库交互的过程,甚至与操作系统之间的编码不...

    php-5.4.45-nts.zip(phpstudy 2016+ZendLoader)

    1. **短数组语法**:从这个版本开始,PHP支持更简洁的数组定义方式,如`[元素1, 元素2]`。 2. ** Traits **:PHP 5.4引入了Traits,这是一种代码重用机制,类似于Java的接口和C++的多重继承,但解决了多重继承可能...

    php_swoole_loader_2.2_php7.3_zts widows-x64版本

    总结来说,"php_swoole_loader_2.2_php7.3_zts widows-x64版本"是为Windows 64位系统上的PHP 7.3构建的Swoole扩展,具备线程安全特性,用于实现高性能的异步网络编程。开发者可以利用这个扩展轻松构建高并发、低延迟...

    Tomcat-PHP: script-api.jar,php-servlet.jar,php-script.jar,JavaBridge.jar

    标题中的"Tomcat-PHP"指的是在Apache Tomcat服务器上运行PHP应用程序的一种集成方式。Tomcat是Apache软件基金会的一个开源项目,主要负责处理Java Servlet和JavaServer Pages (JSP)。而PHP是一种广泛使用的开放源...

    一个使用 php 语言的 TSPL 标签打印机实现_PHP_代码_下载

    使用PHP与TSPL相结合,可以方便地通过编程方式生成和打印各种定制化的标签。 首先,我们需要理解PHP在处理这种任务时的基本思路。通常,PHP会生成一个包含TSPL指令的字符串,这个字符串包含了标签的设计布局,比如...

    PHP6与MySQL5-php6.rar

    **PHP6与MySQL5:构建动态...总结,PHP和MySQL是Web开发的基石,无论PHP6是否成为现实,理解这两者的基本概念和交互方式对于任何Web开发者都至关重要。通过深入学习和实践,你可以创建出功能丰富、性能卓越的动态网站。

    php_redis.dll,php的redis扩展文件64位

    一旦安装并配置好,你可以通过以下方式在PHP中创建一个Redis连接: ```php $redis = new Redis(); $redis-&gt;connect('127.0.0.1', 6379); ``` 然后,你可以利用各种方法与Redis进行交互,例如设置和获取键值: ```...

Global site tag (gtag.js) - Google Analytics