下载文档的总结
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代码可以嵌入HTML中,常见的两种方式是`<?php ... ?>`和`<? ... ?>`。 2. **变量定义** - PHP变量以美元符号 `$` 开始,如 `$myString`, `$int1` 和 `$float1`。 - 变量的数据类型包括字符串、整型、浮点...
PHP支持命令行运行方式、或者作为Apache扩展的方式在服务器端执行。 - **注释**: 在PHP中,你可以使用`//`或`#`进行单行注释,使用`/* */`进行多行注释。 - **变量声明**: PHP中的变量以`$`符号开始,例如`$var_...
《PHP二维码生成库phpqrcode...总结,PHP QRCode库为PHP开发者提供了一个高效、便捷的二维码生成解决方案。通过理解和掌握这个库,我们可以轻松地将二维码功能融入到各种PHP项目中,提升用户体验,扩大信息传播的范围。
总结来说,PHP下载功能实现的核心步骤是: 1. 设置HTTP响应头,指示浏览器进行下载操作。 2. 使用`fopen()`打开文件。 3. 可能需要使用`fread()`或`readfile()`读取文件内容。 4. 使用`fclose()`关闭文件。 5. 在...
标题“细说PHP下载 兄弟连”可能意味着这本书是由“兄弟连”机构或者团队编写的。在IT培训领域,特别是在中国,“兄弟连”是一个比较知名的教育品牌,它提供包括PHP在内的多种技术培训课程。因此,这本书可能是...
传统的PHP文件下载方式是通过`readfile()`或`file_get_contents()`函数读取整个文件内容并输出到浏览器。然而,这种方法对于大文件并不适用,因为它会一次性加载整个文件到内存中,可能导致内存溢出。 为了解决这个...
9. **数据库交互**:MySQLi或PDO是PHP与数据库交互的主要方式,理解SQL语句(SELECT, INSERT, UPDATE, DELETE)以及预处理语句的使用。 10. **Session和Cookie**:理解这两者在用户状态管理中的作用,如何设置、...
总结来说,这个“php离线rpm包”是专为在离线Linux环境中部署PHP而设计的,包含了所有必要的组件,便于通过RPM工具进行快速安装和管理。PHP作为一款功能强大且广泛应用的服务器端脚本语言,它的离线安装包为那些无法...
在PHP中实现文件上传与下载涉及多个步骤和配置。首先,我们要理解文件上传的基本原理。文件上传的过程简单来说就是客户端通过HTML表单选择文件,然后使用POST方式提交表单,服务器端接收到文件后将其保存到指定目录...
例如,当用户请求下载时,服务器端的PHP脚本会读取文件内容,并设置适当的HTTP头信息,指示浏览器以下载方式处理响应,而不是直接在浏览器窗口显示内容。 ```php header('Content-Type: application/octet-stream')...
- 下载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采集类项目提供了一种高效的方式,利用Snoopy类进行网页抓取,自动下载图片到本地,并更新HTML中的图片链接。这种技术在数据分析、内容聚合、搜索引擎优化等领域有着广泛的应用。然而,需要注意的...
本文将详细介绍如何在Windows环境下以module方式安装PHP,并将其与Apache服务器进行结合,实现支持PHP服务的功能。 #### 二、准备工作 在开始之前,请确保已经安装了Apache服务器。如果没有安装Apache,可以从官方...
### PHP中常见中文乱码处理方法总结 #### 一、PHP网页的编码 在PHP开发过程中,中文乱码是一个常见的问题。这个问题可能出现在不同的场景中,包括网页本身、与MySQL数据库交互的过程,甚至与操作系统之间的编码不...
1. **短数组语法**:从这个版本开始,PHP支持更简洁的数组定义方式,如`[元素1, 元素2]`。 2. ** Traits **:PHP 5.4引入了Traits,这是一种代码重用机制,类似于Java的接口和C++的多重继承,但解决了多重继承可能...
总结来说,"php_swoole_loader_2.2_php7.3_zts widows-x64版本"是为Windows 64位系统上的PHP 7.3构建的Swoole扩展,具备线程安全特性,用于实现高性能的异步网络编程。开发者可以利用这个扩展轻松构建高并发、低延迟...
标题中的"Tomcat-PHP"指的是在Apache Tomcat服务器上运行PHP应用程序的一种集成方式。Tomcat是Apache软件基金会的一个开源项目,主要负责处理Java Servlet和JavaServer Pages (JSP)。而PHP是一种广泛使用的开放源...
使用PHP与TSPL相结合,可以方便地通过编程方式生成和打印各种定制化的标签。 首先,我们需要理解PHP在处理这种任务时的基本思路。通常,PHP会生成一个包含TSPL指令的字符串,这个字符串包含了标签的设计布局,比如...
**PHP6与MySQL5:构建动态...总结,PHP和MySQL是Web开发的基石,无论PHP6是否成为现实,理解这两者的基本概念和交互方式对于任何Web开发者都至关重要。通过深入学习和实践,你可以创建出功能丰富、性能卓越的动态网站。
一旦安装并配置好,你可以通过以下方式在PHP中创建一个Redis连接: ```php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); ``` 然后,你可以利用各种方法与Redis进行交互,例如设置和获取键值: ```...