很多站长朋友们都不太清楚php实现点击下载,今天小编就来给大家整理php实现点击下载,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php中点击下载代码怎么写? 2、 如何实现php点击时下载txt文件功能? 详细 3、 php中怎么实现文件下载功能? 4、 PHP典型模块与项目实战大全:PHP文件下载的原理及实现 5、 如何实现php点击时下载txt文件功能? 详细�0�3 6、 php怎么在画面上加一个下载按钮,点击下载能找到服务器上文件夹的文件并下载下来? php中点击下载代码怎么写?<?php
$file = 'path/file.html'; // 要下载的文件
ob_clean();
header('Pragma: public');
header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control:no-store, no-cache, must-revalidate');
header('Cache-Control:pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding:binary');
header('Content-Encoding:none');
header('Content-type:multipart/form-data');
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名
header('Content-length:'. filesize($file));
$fp = fopen($file, 'r'); //读取数据,开始下载
while(connection_status() == 0 $buf = @fread($fp, 8192)){
echo $buf;
}
fclose($fp);
@flush();
@ob_flush();
exit();
?>
如何实现php点击时下载txt文件功能? 详细php 点击下载txt 文件 由于现在的浏览器已经可以识别格式为txt 的文档格式,所以如果只是给txt 文档做一 个文字链接的话,可能只是打开一个新窗口显示txt 文件的内容,并不能实现点击下载的目 的。We have to do something else. 当然这个问题的解决办法也可以是你将你的txt 文件改名为浏览器不认识的文件,比如 rar,这样的话点击,浏览器不认识就只好让用户下载了。 下面这个文件就是通过设置header 设置文档的格式来实现点击下载的目的,将上个页面传 递过来的文件点击可以下载。 接着第二个header函数设置了要下载的文件,注意这里filename是不包含路径的文件名, 所以用basename 过滤掉路径名。这个 filename 的值将来就是点击下载后弹出对话框里面的 文件名,如果带路径的话,弹出对话框的文件名就是未知的,这个要注意,我就犯了这个错 误,后来凭 经验自己改了,居然对了。 最后就是 readfile,将文件流输出到浏览器,这样就实现了 txt 文件的下载,其他类型的类似。
php中怎么实现文件下载功能?两种方法:
1.直接做个超链接,地址为文件的地址
<a href="文件地址">下载</a>
2.流输出
<?php
$file=fopen('文件地址',"r");
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize('文件地址'));
header("Content-Disposition: attachment; filename=文件名称");
echo fread($file,filesize('文件地址'));
fclose($file);
?>
推荐第二种
因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开。
而第二种方法是直接输出的文件流,不存在上述问题。
你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了。
拓展资料:
集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:
Zend Studio:商业版,Zend官方出品,基于eclipse
Eclipse with PDT:免费
Coda:商业版,针对Mac用户
NetBeans:免费,功能强大
PHP Storm:商业版
Aptana Studio:免费
PhpEd:商业版
Komodo IDE/Edit:IDE为商业版,Edit可免费使用
Adobe Dreamweaver:商业版
除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:Notepad++、Editplus、SublimeText、Everedit(国人开发)等等。
PHP的特性包括:
1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
4. 最重要的是PHP可以用C、C++进行程序的扩展!
参考资料:百度百科:PHP
PHP典型模块与项目实战大全:PHP文件下载的原理及实现PHP文件下载的原理及实现
通常文件下载过程是十分简单的 建立一个链接指向到目标文件就可以了 例如下面的链接
<a href=// xxx /xxx rar>点击下载文件</a>
但是 实际情况可能会稍复杂 比如需要用户填写完整注册信息后才可以下载该文件 这时最先想到的是使用Redirect的方式 下面介绍两种方式
( )用Redirect方式 先检查表格是否已经填写完毕和完整 然后将链接指到该文件 这样用户就可以下载 请看下面的示例代码
<?php
/*文件功能 检查变量form是否完整*/
if($form){
//重新定向浏览器指向
Header( Location: // // xxx /xxx rar )
exit;
}
?>
( )根据下载文件的序号来查找 链接的形式如下
<a href= // xxx /download php?id= >点击下载文件</a>
上面的链接使用ID方式接收要下载文件的编号 然后再用Redirect的方式连接到真实的文件链接
以上这两种方法虽然实现了文件的下载功能 但是缺点是直接暴露了文件所属的路径 而且没有防盗链的功能 所以上面的方式是简单直接但存在安全隐患的文件下载方式 在PHP中 通常是利用header()函数和fread()函数来实现安全的文件下载
例如 需要下载的是一个文件名为xxx rar的文件 首先创建文件是download php的PHP文件 通过前面的例子很容易通过文件的ID号从数据库中得到待下载文件的真实位置 在获得文件的真实存储位置后 可以通过header()函数的location参数直接重定向到这个文件 但是这样仍然是不安全的 因为某些下载软件还是可以通过重定向分析获得该文件的位置信息 因此需要用另外一种方法 就是PHP的文件处理API函数 它是通过fread()函数把文件直接输出到浏览器提示用户下载 这样所有的处理都是在服务器端完成的 因此用户就无法获得文件具体存储位置信息的 示例代码如下
<?
$file_name = xxx rar ; //下载文件名
$file_dir = /up/ ; //下载文件存放目录
//检查文件是否存在
if (! file_exists ( $file_dir $file_name )) {
echo 文件找不到 ;
exit ()
} else {
//打开文件
$file = fopen ( $file_dir $file_name r )
//输入文件标签
Header ( Content type: application/octet stream )
Header ( Accept Ranges: bytes )
Header ( Accept Length: filesize ( $file_dir $file_name ) )
Header ( Content Disposition: attachment; filename= $file_name )
//输出文件内容
//读取文件内容并直接输出到浏览器
echo fread ( $file filesize ( $file_dir $file_name ) )
fclose ( $file )
exit ()
}
?>
【代码解读】
上述代码中 程序发送Header信息是用来告诉Apache和浏览器下载文件的相关信息的 content type的含义代表文件MIME类型是文件流格式 如果在Apache配置里面把文件的MIME类型设为application/octet stream(如add application/octet stream xxx rar) 那么浏览器(客户端)就会知道 这是一个文件流格式的文件并提示用户下载 Accept Ranges是一个响应头标 它允许服务器指明将在给定的偏移和长度处 为资源组成部分的接受请求 该头标的值被理解为请求范围的度量单位 Content Length是指定包含于请求或响应中数据的字节长度 例如 Content Length: Content Disposition:attachment是用来告诉浏览器 文件是可以当做附件被下载 下载后的文件名称为$file_name该变量的值
运行download php文件 效果如图 所示 从图中可以看到文件按照预想的方式被提示下载 单击 保存 按钮将文件保存在本地
图 PHP文件安全下载
返回目录 PHP典型模块与项目实战大全
编辑推荐
Java Web开发详解
PHP Web开发学习实录
lishixinzhi/Article/program/PHP/201311/21519
如何实现php点击时下载txt文件功能? 详细�0�3php 点击下载txt 文件
由于现在的浏览器已经可以识别格式为txt 的文档格式,所以如果只是给txt 文档做一
个文字链接的话,可能只是打开一个新窗口显示txt 文件的内容,并不能实现点击下载的目
的。We have to do something else.
当然这个问题的解决办法也可以是你将你的txt 文件改名为浏览器不认识的文件,比如
rar,这样的话点击,浏览器不认识就只好让用户下载了。
下面这个文件就是通过设置header 设置文档的格式来实现点击下载的目的,将上个页面传
递过来的文件点击可以下载。
接着第二个header函数设置了要下载的文件,注意这里filename是不包含路径的文件名,
所以用basename 过滤掉路径名。这个 filename 的值将来就是点击下载后弹出对话框里面的
文件名,如果带路径的话,弹出对话框的文件名就是未知的,这个要注意,我就犯了这个错
误,后来凭 经验自己改了,居然对了。
最后就是 readfile,将文件流输出到浏览器,这样就实现了 txt 文件的下载,其他类型的类似。
php怎么在画面上加一个下载按钮,点击下载能找到服务器上文件夹的文件并下载下来?请进一步说明“画面”是指的什么?某个图像背景之上?
通常来说,你可以用 层(div) 来完成这种网页原素(input / button)的布局,至于点击下载的动作,可以直接将目标文件URL写上,也可以用以 php 和 js 代码响应。
如果是动态添加按钮原素,通常用Ajax / JQuery.
关于php实现点击下载的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php实现点击下载 php实现下载文件的详细内容...