PHP 文件下载流程
前台HTML:
添加download属性,不打开download.php页面
<a style='color:blue' href='download.php' download='data/CrawlerID.txt' target=_blank>下载</a>
download.php
1:从数据库中导出内容
2:fread输出到页面
<?php
//下载数据
header('Content-Type:text/html;charset=utf-8');
$crawlId=$_GET['id']; //导出sql语句:Select pid,price Into OutFile 'F:/QQPCmgr/Desktop/Data_OutFile.txt' fields terminated by ',' From `t_product`
//导出文件命名格式Crawl_ID_txt;
$filePath = "D:/WWW/amazon_crawl_system/data/";//此处给出你下载的文件在服务器的什么地方
$fileName = "CrawlerID_".$crawlId.".txt"; //删除文件
if(file_exists($filePath.$fileName)){
unlink($filePath.$fileName);
} include_once('./mysql.php');
$conndb=new ConnDB();
$conndb->connect("127.0.0.1","root","root","amazon"); //首先从t_crawl_url表中获取对应的id值,拼接sql语句
$sql="select id from t_crawl_url where crawl_id=".$crawlId;
$request=$conndb->queryarr($sql);
$str='';
if($request){
foreach($request as $key => $values){
$str.="crawl_url_id='".$values['id']."' or ";
}
$str=substr($str,0,strlen($str)-4);
//echo $str;
}else{
echo "error";
exit;
} $sql="select pid,price Into OutFile '".$filePath.$fileName."' fields terminated by ',' lines terminated by '\r\n' From `t_product` where ".$str; $request=$conndb->query($sql);
if($request){
/*echo "<script> window.location.href='download.php?id=".$crawlId."&file=".$saveFile."';</script>";*/
}else{
echo "<script> alert('下载失败');</script>";
exit;
} //此处给出你下载的文件名
$file = fopen($filePath.$fileName, "r"); //打开文件
//输入文件标签
header("Content-type:application/octet-stream ");
header("Accept-Ranges:bytes ");
header("Accept-Length: " . filesize($filePath.$fileName));
header("Content-Disposition: attachment; filename= ".$fileName); //输出文件内容
echo fread($file, filesize($filePath . $fileName));
fclose($file); ?>
PHP 文件下载流程的更多相关文章
- C#文件下载流程
private bool DownloadPicture(string picUrl, string savePath, int timeOut) { bool ...
- FastDFS初步认识--上传下载流程介绍
什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用 F ...
- FastDFS文件上传和下载流程
文件上传流程 客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息.文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名. 组名:文件上传后所在的 ...
- centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置
前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬 ...
- FastDFS+Nginx(单点部署)事例
FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统,用纯C语言开发,包括文件存储.文件同步.文件访问(上传.下载).存取负载均衡.在线扩容.相同内容只存储一份等功能,适合 ...
- FastDFS搭建及java整合代码【转】
FastDFS软件介绍 1.什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高 ...
- 19.fastDFS集群理解+搭建笔记
软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...
- FastDFS基本结构(转)
0.简介 FastDFS是基于互联网应用的开源分布式文件系统,主要用于大中型网站存储资源文件,如图片.文档.音频.视频等.FastDFS采用类似GFS的架构,用纯C语言实现,支持Linux.FreeB ...
- [转]分布式文件系统FastDFS架构剖析
[转]分布式文件系统FastDFS架构剖析 http://www.programmer.com.cn/4380/ 文/余庆 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实 ...
随机推荐
- $this->display输出模板
1.public function index(){ $this->display() } // 默认输出的是index.html模板 2.public function index(){ $t ...
- 硬盘安装win10
http://hd.ruanmei.com/
- MIME类型(JSP中)
什么是MIME类型-在把输出结果传送到浏览器上的时候,浏览器必须启动是党的应用程序来处理这个输出文档.这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成.在HTTP中,MIME类型被定义在Co ...
- spring 容器技术入门
官方文档 翻译 https://waylau.gitbooks.io/spring-framework-4-reference/content/III.%20Core%20Technologies/C ...
- YII2数据库依赖缓存
首先配置一下缓存,自己选择是用文件缓存还是数据库缓存等. 'cache' => [ 'class' => 'yii\caching\FileCache', ], 然后就可以通过 Yii:: ...
- 快速理解C#高级概念(一) Delegate委托
做.NET开发很久,最近重新温习<C#高级编程>一书.发现很多曾经似懂非懂的问题,其实也是能够慢慢钻研慢慢理解的. 所以,打算开写<C#高级编程系列>博文.其中会借鉴<C ...
- scala入门教程:scala中的面向对象定义类,构造函数,继承
我们知道scala中一切皆为对象,函数也是对象,数字也是对象,它是一个比java还要面向对象的语言. 定义scala的简单类 class Point (val x:Int, val y:Int) 上面 ...
- vim does not map customized key?
it is a long time confusing me that why my customized key map in vim does not work? Some vim configu ...
- 解决前面有一篇文章中'flashplayer.so为什么要设置777权限的'问题 的 思考了
列出某个目录下的所有内容? ls -A, -A等同于-a, 即是-all, 只是-A 不显示.和.. ll ls 某个目录, 如果它下面没有任何东西, 那么 就没有输出! 同时, ll某个目录, 不会 ...
- CSS3:flex布局应用
想把先前的整理的东西贴出来,怎奈总是有额外事情发生,额,教训电脑要离水杯远点~~ 推荐一本书,<编写可维护的Javascript>这是Nicbolas C.Zakas写的,他的<Ja ...