PHP文件下载函数(从MySQL提取文件路径)

简介: <?php header("Content-type: text/html;charset=utf-8"); require("include/MysqlConn.php"); // 获得ID $id=$_GET['id']; // 判断是否有参数 if (!$id) {     die ("缺少.
+关注继续查看
<?php
header("Content-type: text/html;charset=utf-8");
require("include/MysqlConn.php");
// 获得ID
$id=$_GET['id'];
// 判断是否有参数
if (!$id)
{
    die ("缺少参数!");
}
// 文件保存地址
$FilePath='upload/download/';
// 文件名称
$FileName='';
// 下载文件另存名称
$SaveFileName='';
// 连接数据库
$conn=mysql_connect($Db_Server,$Db_User,$Db_Pwd);
// 判断连接是否成功
if (!$conn)
{
    die("不能连接数据库,错误是: " . mysql_error());
}
// 数据库输出编码,应该与你的数据库编码保持一致。建议用UTF-8国际标准编码
mysql_query("set names 'utf8'");
// 打开数据库
$db_selected = mysql_select_db($Db_Name, $conn);
// 判断打开是否成功
if (!$db_selected)
{
    die ("不能打开数据库,错误是: " . mysql_error());
}
// SQL语句
$sql ="select * from download WHERE download_id='".$id."'";
// 查询SQL语句
$result = mysql_query($sql,$conn);
// 循环读取数据
while($row = mysql_fetch_array($result))
{
// 文件名称
$FileName=$row['Download_FileName'];
// 下载文件名称
$SaveFileName=$row['Download_SaveFileName'];
}
// 使用完毕关闭数据库连接
mysql_close();
// 下载文件函数
function DownloadFile($url,$SaveFileName) 
{  
$FileName=$url;
    $file=fopen($FileName,"rb");
    Header("Content-type:application/octet-stream");
    Header("Accept-Ranges:bytes");
    Header("Content-Disposition:attachment;filename=".$SaveFileName);
$contents="";
// 读取文件
    while (!feof($file))
    {  
    $contents.=fread($file,8192);
    }  
    echo $contents;
    // 关闭文件
    fclose($file);
}
// 文件下载网址
$url=$FilePath.$FileName;
// 判断是否有文件
if (file_exists($url)) 
{
// 下载文件函数
DownloadFile($url,$SaveFileName);
}
?>

--------------------------------------

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。 
https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=6evata1e&utm_source=6evata1e
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
PHP的学习与MYSQL高级 2
PHP的学习与MYSQL高级
34 0
|
1月前
|
关系型数据库 MySQL PHP
PHP的学习与MYSQL高级 1
PHP的学习与MYSQL高级
29 0
|
1月前
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
80 0
|
1月前
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(一)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)
61 0
|
2月前
|
SQL 缓存 关系型数据库
php开发实战分析(7):mysql类库操作的高级使用
php开发实战分析(7):mysql类库操作的高级使用
74 0
|
2月前
|
SQL 安全 关系型数据库
php开发实战分析(8):mysql类库的操作高级使用API开发(字段操作、权限分配、日期格式、跨表查询,数据分表)
php开发实战分析(8):mysql类库的操作高级使用API开发(字段操作、权限分配、日期格式、跨表查询,数据分表)
248 0
|
2月前
|
SQL 关系型数据库 MySQL
php开发实战分析(1):mysql操作字段(添加、删除、修改,多数据表中新增多个字段)
php开发实战分析(1):mysql操作字段(添加、删除、修改,多数据表中新增多个字段)
57 0
|
2月前
|
SQL JavaScript 前端开发
ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)
ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)
140 0
|
2月前
|
SQL JSON 关系型数据库
php执行语句在MySQL批量插入大数据量的解决方案及计算程序执行时间(大数据量、MySQL语句优化)
php执行语句在MySQL批量插入大数据量的解决方案及计算程序执行时间(大数据量、MySQL语句优化)
86 1
|
2月前
|
关系型数据库 MySQL BI
mysql高级进阶:php语句操作mysql进行最大值、最小值、平均值和中位数的报表导出方案
mysql高级进阶:php语句操作mysql进行最大值、最小值、平均值和中位数的报表导出方案
41 0
推荐文章
更多