首先上干货 解决问题

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文件中直接加上

  1. 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下导出数据库数据的更多相关文章

  1. DB2导入导出数据库数据

    导出数据库中数据 在db2cmd命令下生成建库脚本(-z指定模式名) db2look -d BBS -z db2admin -u db2admin -e -o bbs.sql 在db2cmd命令下导出 ...

  2. mysql导出数据库数据及表结构

    1,导出远程数据库数据到本地 mysql -A wj_sms -h192.168.1.105 -uroot -p4321 -ss -e "set NAMES 'utf8';SELECT * ...

  3. java导出数据到excel里:直接导出和导出数据库数据

    一.直接导出 package com.ij34.util; import java.io.FileNotFoundException; import java.io.FileOutputStream; ...

  4. Java注解(Annotation)用法:利用注解和反射机制指定列名导出数据库数据

    闲来没事,想了一个应用的例子:用java如何把数据库的数据根据我们指定的某几列,如第2列,第4列,第6列导出来到Excel里? 写代码也是为了应用的,写好的代码更重要的是在于思考.我自己思考了这个示例 ...

  5. 配置ODBC DSN数据源,导出数据库数据到Excel过程记录

    一.前言 工作中我们可能遇到这样的需要:查询数据库中的信息,并将结果导出到Excel文件.这本来没什么,但数据量比较大时,用PLSQL.toad导出Excel会出现内存不足等情况,使用odbc+Mic ...

  6. BCP 导入导出数据库数据

    使用 bcp 将数据库迁移到 Azure SQL Database --所有 都是在本机sql上运行--先开启cmdshellEXEC sp_configure 'show advanced opti ...

  7. java 对excel操作 读取、写入、修改数据;导出数据库数据到excel

    ============前提加入jar包jxl.jar========================= // 从数据库导出数据到excel public List<Xskh> outPu ...

  8. Excel导出数据库数据

    package com.hxkr.util; import java.io.FileOutputStream; import java.util.ArrayList; import java.util ...

  9. 导出数据库数据制成Excel和txt

    引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...

随机推荐

  1. Vue官方文档Vue.extend、Vue.component、createElement、$attrs/$listeners、插槽的深入理解

    一.Vue.extend({}). 看官网文档介绍,Vue.extend({})返回一个Vue的子类,那么这个Vue子类是啥玩意儿呢?我直观感觉它就是创建出一个组件而已啊,那么它又和Vue.compo ...

  2. vant ui TabBar封装

    TabBar.vue基本上是放在App.vue里面,都存在 <template> <div id="app"> <home-tab-bar :tar- ...

  3. 安装JDK的攻略

    打开浏览器搜索JDK官网 单击Oracle下的JDK Download. 如果英语不好就直接打开浏览器自带翻译功能,根据自己的系统以及相应版本,下载对应的JDK 根据安装提示进行安装,路径自己选择. ...

  4. Linux:nginx负载均衡

    前提:web服务器框架已搭建好lamp/lnmp),已配置好虚拟主机名(这个的配置在上几章中有写). nginx做负载均衡主要的模块是upstream. 1.在新的机器上安装nginx 创建用户ngi ...

  5. mysql修改默认数据存储路径

    1.先关闭mysql服务 可cmd--services.msc进入关闭服务 或cmd命令输入net stop mysql57关闭服务 2.进入C:\ProgramData\MySQL\MySQL Se ...

  6. 小BUG大原理:FastJSON实体转换首字母小写的尴尬事件

    问题描述 因为项目连接的Oracle数据库,字段名映射方便使用大写,但是通过接口调用返回到前端的字段名首字母为小写,这样带来的问题前端显示的字段就需要写这种很尴尬的格式. 原因分析 开发环境使用的是S ...

  7. Magento中数据拷贝一实现

    Mage_Sales_Model_Quote::setCustomer方法,有这么一行代码 Mage::helper('core')->copyFieldset('customer_accoun ...

  8. Python 之父为什么嫌弃 lambda 匿名函数?

    Python 支持 lambda 匿名函数,其扩展的 BNF 表示法是lambda_expr ::= "lambda" [parameter_list] ":" ...

  9. java ConcurrentHashMap和CopyOnWriteArrayList解决并发问题

    ConcurrentHashMap 一.hashtable.hashmap.ConcurrentHashMap 1.线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起 ...

  10. volatile关键字解释和使用

    一.java内存模型的相关概念:原子性.可见性与有序性 原子性: 原子是世界上的最小单位,具有不可分割性.比如 a=0:(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原 ...