前台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); ?>