PHP批量下载方法
PHP批量下载方法
界面:
$.get(“< ?php echo url::base(true);?>inventory/report/buildCsv”, //后台路径
{‘params’:’params’}, //参数
function (filename) {
//将参数传递到后台,后台创建好csv后返回文件名,再次访问文件来下载
window.open(“< ?php echo url::base(true);?>downloads/”+filename);
}
);
后台:
public function action_buildCsv () {
set_time_limit(0);
//进行文件加密,返回md5格式文件名字,这里我加上时间戳是因为我需要下载的数据是实时的,如果同一天内下载一次就行,可以不用,一天内下载一次即可其他时间直接下载
$_GET[‘date’] = $_SERVER[‘REQUEST_TIME’];
$md5 = md5(join(‘::’,$_GET));
//如果同一天下载一次就行则加上条件
//date(‘Y-m-d’,$_SERVER[‘REQUEST_TIME’])!==date(‘Y-m-d’,filemtime($path))
if(!is_file($path)||){
$filename = DOCROOT.”downloads/”.$md5.”.csv”;
$fp=fopen($filename,”w+”); //打开文件
//标题,后边加上\n即可,windows加上\r\n进行换行
$list_str = ‘采购单号,SKU,品名,金额.”\n”;
………..根据get以及sql获取数据为$lists(也可以用mysqli_fetch_row方式)……
foreach($lists as $list) {
//这里是拼接的,此处省略赋值直接用一些变量代替
//这里要注意的就是中文用\”来包含,因为字符串中间包含空格时会出现错位
//对于业务要使用的数字运算肯定不能加\”,否则他们excle求和不能用
$list_str .= “{$pu_id]},{$sku},\”{$list[‘sku_name’]}\”,{$list[‘money’]}\n”;
}
fputs($fp,$list_str);
fclose($fp);
}
ob_end_flush();
header(“Content-type:text/csv”);
header(“Content-Disposition:attachment;filename={$md5}.csv”); //“生成文件名称”
header(‘Cache-Control:must-revalidate,post-check=0,pre-check=0’);
header(‘Expires:0’);
header(‘Pragma:public’);
echo $md5;
exit; } 注:服务器创建的承装下载文件的文件夹downloads权限要改为可读写
PHP批量下载方法的更多相关文章
- java批量下载文件为zip包
批量下载文件为zip包的工具类 package com.meeno.trainsys.util; import javax.servlet.http.HttpServletRequest; impor ...
- 看到个有趣的方法批量下载rtf模板
一般想要批量下载rtf模板我们都是用fndload来实现或者 perl download.pl来实现,今天看到一个比较有趣的方法 Hi, Blob column 'template file data ...
- ASP.NET批量下载文件的方法
一.实现步骤 在用户操作界面,由用户选择需要下载的文件,系统根据所选文件,在服务器上创建用于存储所选文件的临时文件夹,将所选文件拷贝至临时文件夹.然后调用 RAR程序,对临时文件夹进行压缩,然后输出到 ...
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 利用SkyDrive Pro 迅速批量下载SharePoint Server 上已上传的文件
在上一篇<SharePoint Server 2013 让上传文件更精彩>,我们一起了解了如何快速的方便的上传批量文件到SharePoint Server 2013 ,而在这一篇日志中您将 ...
- 批量下载网站图片的Python实用小工具
定位 本文适合于熟悉Python编程且对互联网高清图片饶有兴趣的筒鞋.读完本文后,将学会如何使用Python库批量并发地抓取网页和下载图片资源.只要懂得如何安装Python库以及运行Python程序, ...
- 使用js脚本批量下载慕课网视频
慕课网(http://www.imooc.com/)上有很多不错的视频,当然我不是来给慕课网打广告的,我本人学习过很多慕课网上的免费的视频. 在线看如果网速慢时,可能会有卡顿,没网时无法观看.所有说下 ...
- C#实体图片下载与批量下载(自动保存功能)
新工作,第一个小任务,制作一个点击下载图片的功能.并提供批量下载操作.图片是字节流的形式,存放在数据库中的. 为了避免直接从数据库中,下载失败,会在本地保存一份. 进行压缩的是SharpZip这个压缩 ...
- Java实现批量下载《神秘的程序员》漫画
上周看了西乔的博客“西乔的九卦”.<神秘的程序员们>系列漫画感觉很喜欢,很搞笑.这些漫画经常出现在CSDN“程序员”杂志末页的,以前也看过一些. 后来就想下载下来,但是一张一张的点击右键“ ...
随机推荐
- struts2笔记08-初识ActionSupport
1.配置一个最简单的action <action name="simple-action"> <result>/simple.jsp</result& ...
- 【Howie玩docker】-使用mono编译c#程序
根据前面的方法,在windows和Linux共享文件夹,然后就可以开发了! Start up an Ubuntu container $ docker run -it ubuntu bash Upda ...
- [LeetCode]题解(python):153-Find Minimum in Rotated Sorted Array
题目来源: https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ 题意分析: 在一个不重复的翻转的数组里面找到最小那个 ...
- lua学习笔记1
lua中调用c的函数 #include <stdio.h> #include <string.h> #ifdef __cplusplus extern "C" ...
- 考察printf函数返回值
最近偶然间见了这样一道题: #include<stdio.h> int main() { ; printf("%d\n",printf("%d", ...
- Robot Framework中DatabaseLibrary应用
DatabaseLibrary: 在RF的官网上,有DatabaseLibrary的下载链接,DatabaseLibrary有2个版本,Python和Java版.本人使用的是Python版本. 1.下 ...
- android权限列表
原文:[转]android权限列表 访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略 ...
- substr,substring,slice 的区别
javascript中的三个函数substr,substring,slice都可以用来提取字符串的某一部分(函数名称都是小写,不要写成subStr,subString又或者Substring,记住js ...
- _sortBy用法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- MySQL 5.7.10 免安装配置
# 配置环境:windows 64bit # 安装版本:mysql-5.7.10-win32(zip archive版本) 1. ZIP Archive版是免安装的,只需把mysql-5.7.10-w ...