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字符串截取函数mb_substr用法实例分析)
- php运算符与操作符(php中的buffer缓冲区用法分析)
- webapp前端能用yii2开发吗(Yii Framework框架使用PHPExcel组件的方法示例)
- php 十六进制转换为二进制(PHP实现的62进制转10进制,10进制转62进制函数示例)
- php-fpm配置文件在哪里(PHP-FPM 设置多pool及配置文件重写操作示例)
- php提交表单验证表(php实现的表单验证类完整示例)
- php中类的属性含义(php类中static与self的使用区别浅析)
- yii2支持php7.2吗(Yii框架通过请求组件处理get,post请求的方法分析)
- php如何设置命名空间(PHP进阶学习之命名空间基本用法分析)
- php教程字符串类型进阶技术教程(PHP中有关长整数的一些操作教程)
- phpstudy的mysql无法启动(Windows系统下解决PhPStudy MySQL启动失败问题)
- php 设置sessionid生成机制(PHP Cli 模式设置进程名称的方法)
- thinkphp5对接支付宝扫码支付(ThinkPHP框架下整合支付宝支付功能图文教程)
- php 支付系统(php 实现银联商务H5支付的示例代码)
- phpstudy创建网站无权限(phpStudy配置多站点多域名和多端口的方法)
- php中function函数的用法(PHP中quotemeta函数的用法讲解)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9