php输出(下载)文件

经常可以看到点击一个文件,然后就可以下载。这个功能在php中实现可以通过下面的代码:

if(is_file($file))
{
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=".basename($file));
    readfile($file);
}else {
    echo "文件不存在!";
}
时间: 2024-09-28 15:55:08

php输出(下载)文件的相关文章

.NetCore之下载文件

本篇将和大家分享的丝.NetCore下载文件,常见的下载有两种:A标签直接指向下载文件地址和post或get请求后台输出文件流的方式,本篇也将围绕这两种来分享:如果对您有好的帮助,请多多支持. 允许站点不识别content-type下载文件(即:不受mime类型限制下载) 如何允许下载.nupkg和.apk后缀的文件 Razor模板的post下载文件例子 半年来使用NetCore的一些感想和焦虑 允许站点不识别content-type下载文件(即:不受mime类型限制下载) 对于netcore的

.net 直接输出远程文件到浏览器和下载文件保存到本机

利用了xmlhttp,实现代码比较简单具体实现如下: 首先bin文件引入,com->microsoft xml v3.0 具体代码如下: protected void Button1_Click(object sender, EventArgs e) { string FileNames = "201406251824392435.pdf", ContentType = ""; string houzhui = FileNames.Substring(File

多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区

写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以我采用: 一.独立线程读取输出信息: 二.自己实现doWaitFor方法来代替api提供的waitFor()方法,避免子进程卡死. 三.设置超时,杀死wget子进程,没有正确返回的话,重试一次,并把超时时间加倍: 有了以上操作,wget不会卡死,就算卡住了也会因为超时被干掉再重试一次,所以绝大部分的

php输出cvs文件,下载cvs文件

function outputCsv($data, $filename = 'file.csv') {//输出文件,下载文件 header('Content-Type:application/force-download'); header("content-Disposition:filename={$filename}"); foreach ($data as $fields) { foreach ($fields as $key => $value) { echo $val

ajax请求不能下载文件(转载)

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等 但是起初老是下载失败,并且弹出下面的乱码: 前台请求代码: [html] view plain copy $('#fileexcel').unbind('click').bind('click',function(){ alert("我要下载了"); $.ajax({ type:'post', url:'media', data:null, async:true, success : func

jsp下载文件的实现方法及注意事项 (转)

jsp中实现文件下载,最简单的方式是在网页上做超级链接,如:<a href="music/abc.mp3">点击下载</a>. 但是,这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不安全的因素. 因此,可以采用其它方式实现下载,常使用的有以下两种:       1.RequestDispatcher的方式进行:       2.采用文件流输出的方式下载(推荐). 1.采用RequestDispatcher的方式: 1 <% 2 respons

PHP下载文件

客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下.服务器接受到该请求以后,马上运行该down.php文件运行该文件的时候,必然要把将要被下载的文件读入内存当中(这里是圣诞狂欢.jpg这张图片),这里通过fopen()函数完成该动作注意:任何有关从服务器下载的文件操作,必然需要先在服务端将文件读入内存当中 现在文件已经在内存当中了,这是需要从内存当中读取文件,通过fread()函数完成该动作注意:  如果文件较大,文件应该

Java下载文件

下面的代码简单的实现了java下载文件的步骤,看代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取文件的类名 String Path=this.getClass().getResource("/").getPath()+"JAVA笔记.txt"; //对获取的路径进

jsp下载文件的实现方法

(一) 最简单的方式是在网页上做超级链接,如:<a href="music/1.zip">点击下载</a>. 但是这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不安全的因素. 因此可以采用其它方式实现下载,可以采用: 1.RequestDispatcher的方式进行: 2.采用文件流输出的方式下载. (推荐) 1.采用RequestDispatcher的方式进行  <% response.setContentType("applic

解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题

最近做项目,采用Spring MVC做控制层,下载文件的文件名总是在主流浏览器上显示乱码,Firfox不是乱码了,IE下又成了乱码.也是烦,IE总是独树一帜,没办法,只能让程序去适应,在网上也搜索了很多,但是解决的不理想,主要是IE11作为主流浏览器后,很多人之前提出的方案都失效了. 简单来说,之前使用request获取header中的user-agent,通过MSIE关键字来判断是否是IE浏览器,如果是IE浏览器,使用utf-8对文件名编码就可以了.然而,IE11的user-agent已经没有