PHP实现文件下载【实例分享】
发布时间 - 2026-01-11 00:53:42 点击率:次话不多说,请看代码:
<?php
/**
*
*参数说明:
*
* $file_name 文件名(中英文)
* $_SERVER['DOCUMENT_ROOT'] 获取apache所在路径
*
*/
function download($file_name){
//对中文文件名进行转码
$file_name=iconv("UTF-8","GB2312",$file_name);
//文件绝对路径:E:/wamp/www."/Demo/Object/DownfileSource/".qq.txt
$filepath = $_SERVER['DOCUMENT_ROOT']."/Demo/Object/DownfileSource/".$file_name;
if(!file_exists($filepath)){ //检查文件是否存在
echo "该文件不存在!";
return;
}
$fp = fopen($filepath, 'r'); //打开文件
$file_size = filesize($filepath); //计算文件大小
if ($file_size>1) {
echo "<script>window.alert('文件过大,您没权限下载')</script>";
return;
}
//HTTP头部信息
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".$file_size);
header("Content-Disposition: attachment; filename=".$file_name);
//输出文件内容 echo fread($fp, $file_size);
$buffer = 1024;
//为了下载安全,做一个文件字节读取计数器
$file_count = 0;
//判断文件是否结束 feof
while (!feof($fp) && ($file_size-$file_count > 0)) {
$file_data = fread($fp, $buffer); //统计读了多少字节
$file_count+=$buffer;
echo "$file_data"; //把数据会送给浏览器
}
fclose($fp);
}
//调用
download("qq.txt"); //只需填写文件名即可
?>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# php实现文件下载代码
# php
# 文件下载
# Php中文件下载功能实现超详细流程分析
# php 下载保存文件保存到本地的两种实现方法
# php利用header函数实现文件下载时直接提示保存
# PHP实现远程下载文件到本地
# php实现文件下载代码分享
# PHP文件下载类
# 实现php加速的eAccelerator dll支持文件打包下载
# php下载文件的代码示例
# 解决PHP超大文件下载
# 断点续传下载的方法详解
# ThinkPHP实现将本地文件打包成zip下载
# 只需
# 不存在
# 做一个
# 过大
# 多说
# 该文件
# 读了
# 是否存在
# Demo
# Object
# DownfileSource
# wamp
# www
# file_exists
# echo
# fclose
# qq
# txt
# filepath
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何批量查询域名的建站时间记录?
Android仿QQ列表左滑删除操作
Swift中循环语句中的转移语句 break 和 continue
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Laravel怎么实现验证码(Captcha)功能
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Laravel如何配置任务调度?(Cron Job示例)
深圳网站制作平台,深圳市做网站好的公司有哪些?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
利用python获取某年中每个月的第一天和最后一天
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Android实现代码画虚线边框背景效果
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何用5美元大硬盘VPS安全高效搭建个人网站?
制作公司内部网站有哪些,内网如何建网站?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
网站制作软件有哪些,制图软件有哪些?
如何在云服务器上快速搭建个人网站?
微信小程序 闭包写法详细介绍
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何快速打造个性化非模板自助建站?
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
Android Socket接口实现即时通讯实例代码
JavaScript如何实现错误处理_try...catch如何捕获异常?
香港服务器如何优化才能显著提升网站加载速度?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
常州企业网站制作公司,全国继续教育网怎么登录?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
非常酷的网站设计制作软件,酷培ai教育官方网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)

