在nginx下导出数据库数据
首先上干货 解决问题
set_time_limit(0); //设置脚本运行时间为不限制 因为php脚本默认时间为30秒
ini_set('memory_limit', -1); //取消脚本运行内存限制 如果你的数据量大且需要处理
error_reporting(E_ALL); //把报错打开吧 有些数据是不是有错误 echo 'name,phone,age,content'; //设置表格表头
echo "\n";
//这里是关联数组 一般数据库数据格式 替换为自己的数据就好
$data = array(
0=>array('name'=>'张三','phone'=>'18236666666','age'=>'18','content'=>'这是一段文字,带逗号需要处理'),
1=>array('张三','18236666666','18',"这是一段文字,(\r\n)换行需要处理"),
); foreach($data as $v){
$text = iconv('utf-8','gb2312',$val['memo']); //处理中文乱码
$text =str_replace(array("\r\n", "\r", "\n"), "",$text); //处理文本中换行符
$text =str_replace(array(","), "",$text); //处理英文格式下的"," 因为输出是根据,隔开单元格
echo $v['name'].','.$v['phone'].','.$v['age'].','.$text; //输出数据
echo "\n";
}
然后在nginx下找到脚本执行命令
php csv.php > your.csv
下面是介绍原理
set_time_limit (秒数) 返回bool值
设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,或者是在 php.ini 的 max_execution_time 被定义的值。
参数最大的执行时间,单位为秒。如果设置为0(零),没有时间方面的限制。
如果你的数据量很大很大 那么脚本会跑很久 所以执行时间是需要设置一下的
ini_set() 用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。
脚本中使用了 ini_set('memory_limit', '64M'); 设定一个脚本运行是能够申请到的最大内存字节数,如果一个脚本中需要处理很大的数据那么这个值就需要设置了ini_set('memory_limit', -1);表示不限制内存
函数注意:
干货来了1:
看手册:
可修改范围是PHP_INI_PERDIR,你可能不知道这是什么意思(参考:http://blog.csdn.net/bravezhe/article/details/18351975)
PHP总共有4个配置指令作用域:(PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的)
PHP_INI_PERDIR:指令可以在php.ini、httpd.conf或.htaccess文件中修改
PHP_INI_SYSTEM:指令可以在php.ini 和 httpd.conf 文件中修改
PHP_INI_USER:指令可以在用户脚本中修改
PHP_INI_ALL:指令可以在任何地方修改
干货来了2:
开启了安全模式:代码一同样是无效的。
自己在php version = '5.3.3'上测试发现ini_set('safe_mode',true);无效
需要在php.ini下修改:
干货来了3:
修改代码二的方法:
在.htaccess文件中直接加上
- php_value upload_max_filesize "3M"
摘记链接 细说ini_set(); http://blog.csdn.net/littlebo01/article/details/45199161
输出csv文件
在脚本中直接echo 用英文标点 "," 来划分单元格列; 用 "/n" 来划分单元格行
用nginx下输出命令 ">" 将echo出来的文本输出到1.csv文件
php this.php > 1.csv
这里提一下 很方便
iconv('utf-8','gb2312',$val['memo']);//用来解决utf-8文字乱码问题
在nginx下导出数据库数据的更多相关文章
- DB2导入导出数据库数据
导出数据库中数据 在db2cmd命令下生成建库脚本(-z指定模式名) db2look -d BBS -z db2admin -u db2admin -e -o bbs.sql 在db2cmd命令下导出 ...
- mysql导出数据库数据及表结构
1,导出远程数据库数据到本地 mysql -A wj_sms -h192.168.1.105 -uroot -p4321 -ss -e "set NAMES 'utf8';SELECT * ...
- java导出数据到excel里:直接导出和导出数据库数据
一.直接导出 package com.ij34.util; import java.io.FileNotFoundException; import java.io.FileOutputStream; ...
- Java注解(Annotation)用法:利用注解和反射机制指定列名导出数据库数据
闲来没事,想了一个应用的例子:用java如何把数据库的数据根据我们指定的某几列,如第2列,第4列,第6列导出来到Excel里? 写代码也是为了应用的,写好的代码更重要的是在于思考.我自己思考了这个示例 ...
- 配置ODBC DSN数据源,导出数据库数据到Excel过程记录
一.前言 工作中我们可能遇到这样的需要:查询数据库中的信息,并将结果导出到Excel文件.这本来没什么,但数据量比较大时,用PLSQL.toad导出Excel会出现内存不足等情况,使用odbc+Mic ...
- BCP 导入导出数据库数据
使用 bcp 将数据库迁移到 Azure SQL Database --所有 都是在本机sql上运行--先开启cmdshellEXEC sp_configure 'show advanced opti ...
- java 对excel操作 读取、写入、修改数据;导出数据库数据到excel
============前提加入jar包jxl.jar========================= // 从数据库导出数据到excel public List<Xskh> outPu ...
- Excel导出数据库数据
package com.hxkr.util; import java.io.FileOutputStream; import java.util.ArrayList; import java.util ...
- 导出数据库数据制成Excel和txt
引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...
随机推荐
- 前端code导入excel
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python文件.py转换为.exe可执行程序,制作.exe文件图标
当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示? 假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinst ...
- Linux下mysql安装记录
1.MySQL下载路径:https://dev.mysql.com/downloads/ Linux下的安装步骤:http://www.runoob.com/linux/mysql-install-s ...
- Apache Hudi异步Compaction方式汇总
本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件 ...
- 深入理解Java之装箱与拆箱
一.Java数据类型 1.在说装箱与拆箱之前,先说一下Java的基本数据类型,Java从数据类型上可以划分为值类型与引用类型,值类型是四类八种,分别是: 整数型:byte̵,short̵,int̵,l ...
- Java I/O流 复制文件速度对比
Java I/O流 复制文件速度对比 首先来说明如何使用Java的IO流实现文件的复制: 第一步肯定是要获取文件 这里使用字节流,一会我们会对视频进行复制(视频为非文本文件,故使用之) FileInp ...
- 乔悟空-CTF-i春秋-Misc-爆破3
hehe,第一次用这个,开始CTF刷题之旅 2020.09.02 题目地址 学习 题目分析 下边是题目给的php源码,意思就是进行源码审计,分析出能输出flag的条件. 这东西我是真小白,so,积累经 ...
- JVM学习目录
JVM学习目录 JVM的整体结构 1.类加载子系统 类加载子系统 2.运行时数据区 运行时数据区总览 堆.栈.方法区的详细图解 2.1.程序计数器 程序计数器 2.2.本地方法栈 本地方法栈 2.3. ...
- dubbo学习(二)配置dubbo XML方式配置
provider(生产者) <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo= ...
- 刷题[MRCTF2020]套娃
解题思路 查看源码,发现注释中存在代码 //1st $query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || ...