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伪静态方法)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
热门推荐
- 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