php实现当前页面点击下载文件的简单方法


Posted in PHP onSeptember 22, 2016

php控制器中代码

public function downFile($path = ''){
    if(!$path) header("Location: /");
    download($path);
  }

download文件下载函数代码

function download($file_url,$new_name=''){ 
    if(!isset($file_url)||trim($file_url)==''){ 
      echo '500'; 
    } 
    if(!file_exists($file_url)){ //检查文件是否存在 
      echo '404'; 
    } 
    $file_name=basename($file_url); 
    $file_type=explode('.',$file_url); 
    $file_type=$file_type[count($file_type)-1]; 
    $file_name=trim($new_name=='')?$file_name:urlencode($new_name); 
    $file_type=fopen($file_url,'r'); //打开文件 
    //输入文件标签 
    header("Content-type: application/octet-stream"); 
    header("Accept-Ranges: bytes"); 
    header("Accept-Length: ".filesize($file_url)); 
    header("Content-Disposition: attachment; filename=".$file_name); 
    //输出文件内容 
    echo fread($file_type,filesize($file_url)); 
    fclose($file_type);
}

html代码

<iframe id="iframe" src="" style="display: none;"></iframe>
$(function(){
      $('.downLoad').click(function(){
        var path = $(this).attr('path');
        $('#iframe').attr('src',"php文件路径?path="+path);
      })
    })

把上面的代码,分别放到你的程序中执行就可以了。

以上就是小编为大家带来的php实现当前页面点击下载文件的简单方法的全部内容了,希望对大家有所帮助,多多支持三水点靠木~

PHP 相关文章推荐
一个自定义位数的php多用户计数器代码
Mar 11 PHP
用来给图片加水印的PHP类
Apr 09 PHP
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
Yii框架分页技术实例分析
Aug 30 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
php下载文件,添加响应头的简单实例
Sep 22 #PHP
php实现微信扫码自动登陆与注册功能
Sep 22 #PHP
php版微信公众号自定义分享内容实现方法
Sep 22 #PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 #PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 #PHP
PHP查看SSL证书信息的方法
Sep 22 #PHP
php版微信自动获取收货地址api用法示例
Sep 22 #PHP
You might like
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
使用php+xslt在windows平台上
2006/10/09 PHP
PHP的FTP学习(三)
2006/10/09 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
jstree的简单实例
2016/12/01 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
上海中网科技笔试题
2012/02/19 面试题
实习单位推荐信范文
2013/11/27 职场文书
《学棋》教后反思
2014/04/14 职场文书
水电维修专业推荐信
2014/09/06 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
先进单位事迹材料
2014/12/25 职场文书
运动员入场前导词
2015/07/20 职场文书
公司食堂管理制度
2015/08/05 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
vue使用echarts实现折线图
2022/03/21 Vue.js