导航:首页 > 编程语言 > php点击下载文件

php点击下载文件

发布时间:2022-09-08 02:47:59

⑴ 如何实现php点击时下载txt文件功能 详细

php 点击下载txt 文件 由于现在的浏览器已经可以识别格式为txt 的文档格式,所以如果只是给txt 文档做一 个文字链接的话,可能只是打开一个新窗口显示txt 文件的内容,并不能实现点击下载的目 的。We have to do something else. 当然这个问题的解决办法也可以是你将你的txt 文件改名为浏览器不认识的文件,比如 rar,这样的话点击,浏览器不认识就只好让用户下载了。 下面这个文件就是通过设置header 设置文档的格式来实现点击下载的目的,将上个页面传 递过来的文件点击可以下载。 接着第二个header函数设置了要下载的文件,注意这里filename是不包含路径的文件名, 所以用basename 过滤掉路径名。这个 filename 的值将来就是点击下载后弹出对话框里面的 文件名,如果带路径的话,弹出对话框的文件名就是未知的,这个要注意,我就犯了这个错 误,后来凭 经验自己改了,居然对了。 最后就是 readfile,将文件流输出到浏览器,这样就实现了 txt 文件的下载,其他类型的类似。

⑵ 如何实现php点击时下载txt文件功能 详细�0�3

php 点击下载txt 文件
由于现在的浏览器已经可以识别格式为txt 的文档格式,所以如果只是给txt 文档做一
个文字链接的话,可能只是打开一个新窗口显示txt 文件的内容,并不能实现点击下载的目
的。We have to do something else.
当然这个问题的解决办法也可以是你将你的txt 文件改名为浏览器不认识的文件,比如
rar,这样的话点击,浏览器不认识就只好让用户下载了。
下面这个文件就是通过设置header 设置文档的格式来实现点击下载的目的,将上个页面传
递过来的文件点击可以下载。
接着第二个header函数设置了要下载的文件,注意这里filename是不包含路径的文件名,
所以用basename 过滤掉路径名。这个 filename 的值将来就是点击下载后弹出对话框里面的
文件名,如果带路径的话,弹出对话框的文件名就是未知的,这个要注意,我就犯了这个错
误,后来凭 经验自己改了,居然对了。
最后就是 readfile,将文件流输出到浏览器,这样就实现了 txt 文件的下载,其他类型的类似。

⑶ PHP如何下载文件

//下载文件文件用绝对路径
ob_clean();
header('Pragma:public');
header('Last-Modified:'.gmdate('D,dMYH: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="'.$filename.'"');//设置下载的默认文件名
header('Content-length:'.filesize($dfile));//要下载的文件
$fp=fopen($dfile,'r');
while(connection_status()==0&&$buf=@fread($fp,8192)){
echo$buf;
}
fclose($fp);
@unlink($dfile);
@flush();
@ob_flush();
exit();

⑷ php做的下载功能,为什么点击下载不提示文件大小代码里有写啊

其实是这个函数的问题,我最近研究了很久,终于明白了。代码如下。
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Content-Length: ".$filesize);
header("Content-Disposition: attachment; filename=“.$filename);
原理就是Accept-Length换成Content-length,这样就可以了

⑸ php怎么在画面上加一个下载按钮,点击下载能找到服务器上文件夹的文件并下载下来

请进一步说明“画面”是指的什么?某个图像背景之上?

通常来说,你可以用 层(div) 来完成这种网页原素(input / button)的布局,至于点击下载的动作,可以直接将目标文件URL写上,也可以用以 php 和 js 代码响应。

如果是动态添加按钮原素,通常用Ajax / JQuery.

⑹ php实现文件下载代码

简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可。所示:

<a href=”http://www.*****.net/download/book.rar”>下载文件</a>

如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户“下载”还是“打开”等处理方式。但如果需要下载后缀名为.html的网页文件、图片文件及PHP程序脚本文件等,使用这种连接形式,则会将文件内容直接输出到浏览器中,并不会提示用户下载。

为了提高文件的安全性,不希望在<a>标签中给出文件的链接,则必须向浏览器发送必要的头信息,以通知浏览器将要进行下载文件的处理。PHP使用header()函数发送网页的头部信息给浏览器,该函数接收一个头信息的字符串作为参数。文件下载需要发送的头信息包括以下三部分,通过调用三次header()函数完成。以下载图片test.gif为例,需要发送的头信息的所示:

header(‘Content-Type:imge/gif'); //发送指定文件MIME类型的头信息
header(‘Content-Disposition:attachment; filename=”test.gif”‘); //发送描述文件的头信息,附件和文件名
header(‘Content-Length:3390′); //发送指定文件大小的信息,单位字节

如果使用header()函数向浏览器发送了这三行头信息,图片test.gif就不会直接在浏览器中显示,而让浏览器将该文件形成下载的形式。在函数header()中,“Content-Type”指定了文件的MIME类型,“Content_Disposition”用于文件的描述,值“attachment;
filename=”test.gif””说明这是一个附件,并且指定了下载后的文件名,“Content_Length”则给出了被下载文件的大小。

设置完头部信息以后,需要将文件的内容输出到浏览器,以便进行下载。可以使用PHP中的文件系统函数将文件内容读取出来后,直接输出给浏览器。最方便的是使用readfile()函数,将文件内容读取出来直接输出。下载文件test.gif的所示:

<?php
$filename = "test.gif";
header('Content-Type:image/gif'); //指定下载文件类型
header('Content-Disposition: attachment; filename="'.$filename.'"'); //指定下载文件的描述
header('Content-Length:'.filesize($filename)); //指定下载文件的大小

//将文件内容读取出来并直接输出,以便下载
readfile($filename);
?>

上面如果碰到中文名字就会无法正常下载了,对于中文名字下载文件我又找到一个文件下载实例代码

<?php
header("Content-type:text/html;charset=utf-8");
// $file_name="cookie.jpg";
$file_name="圣诞狂欢.jpg";
//用以解决中文不能显示出来的问题
$file_name=iconv("utf-8","gb2312",$file_name);
$file_sub_path=$_SERVER['DOCUMENT_ROOT']."marcofly/phpstudy/down/down/";
$file_path=$file_sub_path.$file_name;
//首先要判断给定的文件存在与否
if(!file_exists($file_path)){
echo "没有该文件文件";
return ;
}
$fp=fopen($file_path,"r");
$file_size=filesize($file_path);
//下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition: attachment; filename=".$file_name);
$buffer=1024;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
?>

header("Content-type:text/html;charset=utf-8")的作用:在服务器响应浏览器的请求时,告诉浏览器以编码格式为UTF-8的编码显示该内容

关于file_exists()函数不支持中文路径的问题:因为php函数比较早,不支持中文,所以如果被下载的文件名是中文的话,需要对其进行字符编码转换,否则file_exists()函数不能识别,可以使用iconv()函数进行编码转换

$file_sub_path() 我使用的是绝对路径,执行效率要比相对路径高

Header("Content-type: application/octet-stream")的作用:通过这句代码客户端浏览器就能知道服务端返回的文件形式
Header("Accept-Ranges: bytes")的作用:告诉客户端浏览器返回的文件大小是按照字节进行计算的
Header("Accept-Length:".$file_size)的作用:告诉浏览器返回的文件大小
Header("Content-Disposition: attachment; filename=".$file_name)的作用:告诉浏览器返回的文件的名称

以上四个Header()是必需的
fclose($fp)可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

⑺ 如何实现php点击时下载txt文件功能

由于现在的浏览器已经可以识别格式为txt的文档格式,所以如果只是给txt文档做一个文字链接的话,可能只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。We have to do something else.
当然这个问题的解决办法也可以是你将你的txt文件改名为浏览器不认识的文件,比如rar,这样的话点击,浏览器不认识就只好让用户下载了。
下面这个文件就是通过设置header设置文档的格式来实现点击下载的目的,将上个页面传递过来的文件点击可以下载。
<?php$filename="/somepath/".
$_GET['file']."
.txt";//要下载的文件名header("Content-Type:application/force-download");header("Content-Disposition:attachment;filename=".
接着第二个header函数设置了要下载的文件,注意这里filename是不包含路径的文件名,所以用basename过滤掉路径名。这个
filename的值将来就是点击下载后弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的,这个要注意,我就犯了这个错误,后来凭
经验自己改了,居然对了。
最后就是readfile,将文件流输出到浏览器,这样就实现了txt文件的下载,其他类型的类似。

⑻ php。求php点击页面内按钮生成文件并立即下载该文件的思路

Ajax请求后,返回已生成文件的路径 url_path, 然后 window.location.href = url_path;
如果不在本页面跳转就用window.open(url_path);

⑼ PHP实现文件下载

2种方法

1直接做个超链接,地址为文件的地址

<ahref="文件地址">下载</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=文件名称");
echofread($file,filesize('文件地址'));
fclose($file);
?>

推荐第二种


因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开


而第二种方法是直接输出的文件流,不存在上述问题

⑽ php中怎么实现文件下载功能

两种方法:

1.直接做个超链接,地址为文件的地址

<ahref="文件地址">下载</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=文件名称");

echofread($file,filesize('文件地址'));

fclose($file);

?>

推荐第二种

因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开。

而第二种方法是直接输出的文件流,不存在上述问题。

你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了。

拓展资料:

集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:

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点击下载文件相关的资料

热点内容
美食博主用什么app拍视频 浏览:812
ipone手机如何加密微信 浏览:354
自来水加密阀阀帽 浏览:431
华为交换机dhcp配置命令 浏览:315
androidbitmap缩小 浏览:271
单片机串口控制灯 浏览:84
大讯云服务器安装视频 浏览:784
华为算法领先世界 浏览:654
linux路由重启 浏览:566
php的模板编程 浏览:322
编译器原理与实现书 浏览:710
dos选择命令 浏览:18
apm固件编译到单片机 浏览:122
联通深蓝卡都包含什么app 浏览:266
如何判断网络服务器正常 浏览:652
路由器搭桥远端服务器地址是什么 浏览:518
编译动态库时会连接依赖库吗 浏览:710
淘宝手机加密是随机的吗 浏览:675
解压包子怎么装饰 浏览:588
四个数凑24算法 浏览:679