php入门教程源代码修改教程(php+js实现的无刷新下载文件功能示例)
类别:编程学习 浏览量:1786
时间:2021-10-25 10:20:48 php入门教程源代码修改教程
php+js实现的无刷新下载文件功能示例本文实例讲述了php+js实现的无刷新下载文件功能。分享给大家供大家参考,具体如下:
服务器端页面
步骤就是,设置头文件参数,然后读入并输出文件。下面代码的file_get_contents可以使用fread,fclose代替。
download.php
|
<?php $filename = $_GET [ 'filename' ]; $path = __DIR__. "/file/" . $filename ; Header( "Content-type: application/octet-stream" ); Header( "Accept-Ranges: bytes " ); Header( "Accept-Length: " . filesize ( $filename )); header( "Content-Disposition: attachment; filename={$filename}" ); echo file_get_contents ( $filename ); |
前端页面
在很多时候,我们下载文件的操作,都是在前端页面直接点击下载的,而不是专门跳转到上面的download.php去下载。
所以我们需要在前端实现无刷新访问download.php来下载文件,通过隐藏的iframe来实现是不错的方式。下面是代码:
|
<!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>Title</title> </head> <body> <a href= "javascript:download_file('http://localhost/download.php?filename=\" rel=" external nofollow " 测试文件.doc\"')" >下载</a> <script type= "text/javascript" > function download_file(url) { if ( typeof (download_file.iframe) == "undefined" ) { var iframe = document.createElement( "iframe" ); download_file.iframe = iframe; document.body.appendChild(download_file.iframe); } //alert(download_file.iframe); download_file.iframe.src = url; download_file.iframe.style.display = "none" ; } </script> </body> </html> |
file_get_contents先读取,然后echo的方式。可以使用readfile函数代替,效率更高。
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/koastal/article/details/51879446
您可能感兴趣
- php编写程序使用方法(php xhprof使用实例详解)
- php怎么创建一个文件(PHP文件后缀不强制为.php方法)
- php数组练习题答案(PHP 数组黑名单/白名单实例代码详解)
- php开发api接口登录(PHP调用接口API封装的例子)
- php缓存技术学习(简单实用的PHP文本缓存类实例)
- php开发微信小程序后台步骤流程(基于PHP实现微信小程序客服消息功能)
- php网页浏览功能的具体实现(php实现网页上一页下一页翻页过程详解)
- php队列的用法实例(PHP实现一个限制实例化次数的类示例)
- php上传文件的要求(PHP 文件上传限制问题)
- phpcurl缺点(PHP封装cURL工具类与应用示例)
- php运行模式图解(php策略模式简单示例分析区别于工厂模式)
- dedecms新字段(DEDECMSv5.6 tags.php标签不能按照时间排序的问题)
- 安装phpstudy注意哪些问题(phpstudy怎么卸载?phpstudy卸载图文教程)
- php测试服务器ftp地址(PHP获取远程http或ftp文件的md5值的方法)
- php怎么实现动态配置(php实现映射操作实例详解)
- phpstudy服务器怎么设置(phpstudy本地环境开启.htaccess伪静态方法)
- 这个全椒人被通报表彰,看看你认识吗(这个全椒人被通报表彰)
- 全椒人,38年集体回忆 1980-2018 ,看完不要哭(全椒人38年集体回忆)
- 董元奔吟咏历代文人 1012新旧均可 全椒人张璪 1022 -1093(董元奔吟咏历代文人)
- 泪目 这位 刷屏 的英雄,是全椒人的骄傲(泪目这位刷屏)
- 人从众 火炎焱 全椒再现 正月十六走太平 的魅力(人从众火炎焱全椒再现)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
热门推荐
- html5 固定图片(HTML5拖放API实现自动生成相框功能)
- divcss页面布局步骤(横向两列布局左列固定,右列自适应的4种CSS实现方式)
- 远程桌面连接不上华为云服务器(华为云服务器远程桌面怎样实现复制粘贴?)
- nginx流媒体服务搭建与应用(用nginx+FastDFS一步步搭建文件管理系统)
- linux如何设置sudo授权(如何在Linux环境为用户添加sudo权限)
- docker的一些使用方法(使用Docker 安装 Jenkins的方法)
- docker 容器端口查不到(docker容器无法访问宿主机端口的解决)
- css 自适应手机屏幕(Css实现手机端页面强制横屏的方法示例)
- react native web白屏(关于React Native 无法链接模拟器的问题)
- matlab嵌入python代码(python调用matlab的m自定义函数方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9