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

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实现当前页面点击下载文件的简单方法的全部内容了,希望对大家有所帮助,多多支持我们~

(0)

相关推荐

  • php实现文件下载功能的几个代码分享

    一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了.php下载文件其实用一个a标签就能实现,比如 <a href="web/magento-1.8.1.0.zip">magento-1.8.1.0.zip</a> .但是遇到一些浏览器能识别的格式,比如.txt,.html,.pdf等,再用<a href="web/abc.txt">abc.txt</a> 想必也知道会发生什么了. 复制代码

  • php下载文件的代码示例

    复制代码 代码如下: <?php $file = 'monkey.gif'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Tra

  • PHP实现文件下载详解

    1.php下载原理图 2.文件下载源码: 复制代码 代码如下: <?php $file_name="哈哈.jpg";//需要下载的文件 $file_name=iconv("utf-8","gb2312","$file_name"); $fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存 if(!file_exists($file_name)){//判断文件是否

  • php实现文件下载简单示例(代码实现文件下载)

    复制代码 代码如下: public function downloads($name){$name_tmp = explode("_",$name);$type = $name_tmp[0];$file_time = explode(".",$name_tmp[3]);$file_time = $file_time[0];$file_date = date("Y/md",$file_time);$file_dir = SITE_PATH.&quo

  • php实现文件下载实例分享

    举一个案例: 复制代码 代码如下: <?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name);$file_path = iconv("utf-8","gb23

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

    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)

  • php实现当前页面点击下载文件的实例代码

    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)

  • linux下上传下载文件夹的方法

    Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2为目标目录,zhidao@192.168.0.1为远程服务器的用户名和ip地址. Linux下目录复制:远程服务器->本机 scp -r zhidao@192.168.0.1:/home/test2 /home/shaoxiaohu/test1 zhidao@192.168.0.1为远程服务器的用户名和

  • Golang 使用http Client下载文件的实现方法

    之前使用beego的http库的时候,有的情况需要下载文件.beego是能实现,但就是有点问题:不支持回调,没法显示下载速度,这在日常开发中是不可忍受的. 看了下beego的实现主要是使用了io.copy函数,于是就深入的看了下实现原理,发现挺简单的,于是就根据io.copy原理实现的一个简单的下载器 //定义要下载的文件 var durl = "https://dl.google.com/go/go1.10.3.darwin-amd64.pkg"; //解析url uri, err

  • python 下载文件的多种方法汇总

    本文档介绍了 Python 下载文件的各种方式,从下载简单的小文件到用断点续传的方式下载大文件. Requests 使用 Requests 模块的 get 方法从一个 url 上下载文件,在 python 爬虫中经常使用它下载简单的网页内容 import requests # 图片来自bing.com url = 'https://cn.bing.com/th?id=OHR.DerwentIsle_EN-CN8738104578_400x240.jpg' def requests_downloa

  • 使用 C# 下载文件的多种方法小结

    目录 简单下载 异步下载 下载文件的同时向服务器发送自定义请求头 如何解决下载文件不完整的问题 使用 Downloader 进行 HTTP 多线程下载 下载非 HTTP 协议的文件 文件下载是一个软件开发中的常见需求.本文从最简单的下载方式开始步步递进,讲述了文件下载过程中的常见问题并给出了解决方案.并展示了如何使用多线程提升 HTTP 的下载速度以及调用 aria2 实现非 HTTP 协议的文件下载. 简单下载 在 .NET 程序中下载文件最简单的方式就是使用 WebClient 的 Down

  • 恢复百度云盘本地误删的文件脚本(简单方法)

    今天被同步盘搞得焦头烂额. 辛苦码的代码(除了重要的.备份过的)都被删掉了-- 当时我就石化了... 随后发现同步盘目录有个delete目录,里面还有manifest.xml,和一堆改了名的文件, 看到manifest.xml的内容时,瞬间觉得有救了,立马开搞python 废话不多说,直接上代码: #-*- coding:utf-8 -*- from xml.etree import ElementTree import os import sys reload(sys) sys.setdefa

  • JavaWeb中导出excel文件的简单方法

    在平时做系统项目时,经常会需要做导出功能,不论是导出excel,还是导出cvs文件.我下面的demo是在springmvc的框架下实现的. 1.JS中只需要用GET模式请求导出就可以了: $('#word-export-btn').parent().on('click',function(){ var promotionWord = JSON.stringify($('#mainForm').serializeObject()); location.href="${ctx}/promotionW

  • nodejs读写json文件的简单方法(必看)

    nodejs 读json文件 var fs=reauire('fs'); var file="d:\\0.json"; var result=JSON.parse(fs.readFileSync( file)); //操作对象 nodejs 写json文件 var coors = {}; coors.left_top = {}; coors.right_top = {}; coors.left_bottom = {}; coors.right_bottom = {}; //填充coor

  • vue 引入公共css文件的简单方法(推荐)

    如果不想把css写在单文件组件里如这样: <template> <div id="app"> <div class='nav-box'> <ul class='nav'> <li> <a href="#/" rel="external nofollow" rel="external nofollow" >home</a> </li>

随机推荐