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“程序员”杂志末页的,以前也看过一些. 后来就想下载下来,但是一张一张的点击右键“ ...
随机推荐
- 常用DOM整理
常用DOM整理 前言: html为document搭建了一棵DOM树,这棵树就是有一系列Node节点所构成的.他为我们定义了文档的结构. Node类型: Node.ELEMENT_NODE(1); ...
- Eclipse 打包过滤 Log.e
我们在开发时,经常会输出各种日志来debug代码.但是等到应用发布的apk运行时不希望它输出日志. 关闭输出日志Log.v(),Log.i(),Log.w(),Log.v(),Log.e()等 原理: ...
- drawable 另外一种形式dimens.xml
常见的Drawable,放置默认drawable一系列目录,有时候会发现drawable找不到的情况,其实还可以放另外一个目录下 values------->>dimens.xml < ...
- html语法之--使用图像映射
1 什么是图像映射所谓图像映射是指在一幅图中定义若干个区域,每个区域中指定一个不同的超链接,当单击不同的区域时便可以跳转到相应的目标页面. 2 创建图像映射 2.1 定义映射区域 定义映射区域使用MA ...
- Latex命令笔记
1.\documentclass[hyperref, UTF8]{ctexart} 2.\numberwithin{equation}{section} %article中让公式按章节名编号 3.\p ...
- poj2190
#include <stdio.h> #include <stdlib.h> int main() { ]; ,i; scanf("%s",arr); ;i ...
- 神奇的i=i++
最近在看c语言,被神奇的i=i++吸引,其实感觉编程是一件有趣的事情(特别喜欢算法).下面是我的测试,linux 下 gcc编译 #include<stdio.h> main () { ...
- 怎样通过css的media属性,适配不同分辨率的终端设备?
怎样通过css的media属性,适配不同分辨率的终端设备,示比例如以下: <!DOCTYPE html> <html> <head> <title>首页 ...
- 在线词典php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 初学JSoup
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出 ...