php导出数据到csv文件

 更新时间:2016年11月25日 15:54  点击:1322

 

 代码如下 复制代码

include("../admin/inc/inc.php");
 $times = time();
 $filename = $times.".csv"; 
 $a = "联系人,联系电话,小区,所需材料,备注,申请时间 "; 
 $days = postget("days"); 
 $mktime = daystomktime($days);
 $sql = "select * from  tugou where ($times-times)<$mktime";
 $db = new db();
 $result = $db->query( $sql );
 $rs = $db->fetch($result,0);
   foreach($rs as $v=>$vv)
   {  
     $a.=$vv['name'].','. $vv['mo'].",". $vv['comm'].",".

commbox($vv['cbox']).",";
     $a.="".$vv['bak'].",". date('y-m-d',$vv['times'])."

";  
   }
  //echo $a;
  $hod = fopen ($filename,"w+");
  if( fwrite($hod,$a) )
  {
   echo "生成文件成功,点击<a href=$filename target=_blank>下载excel

文档</a>";
  }
 
 

function daystomktime($days)
{
 switch( $days )
 {
  case 1:
   $t = 86400;
   break;
  case 7:
   $t = 86400*7;
   break;
  case 30:
   $t = 86400*30;
   break;
  case 90:
   $t = 86400*90;
   break;
  case 2048:
   $t = 86400*2048;
   break;
 }
 return $t;
}

function commbox( $ars )
 {
  if( trim( $ars ) == '' )
  {
   return '&nbsp;';
  }
 
  $array = include("tugou.php");
  $tmp = explode(',',$ars);
  $str ='';
  if( $tmp )
  {
   foreach( $tmp as $c )
   {
   $str .= $array[intval($c)].'|';
   }
  }
  return $str;
 }
 

/*
 结构
 create table if not exists `tugou` (
  `id` int(8) not null auto_increment,
  `name` varchar(20) default null comment '名字',
  `mo` varchar(20) default null comment '手机',
  `comm` varchar(100) default null,
  `bak` varchar(500) default null comment '备份',
  `cbox` varchar(500) default null comment '类型',
  `times` int(4) default null,
  `ip` varchar(20) default null,
  primary key  (`id`)
) engine=innodb  default charset=utf8 auto_increment=8 ;

function _pageft($totle, $displaypg = 20, $url = '') {

  global $page, $firstcount, $pagenav, $_server;

  $globals["displaypg"] = $displaypg;

  if (!$page)
   $page = 1;
  if (!$url) {
   $url = $_server["request_uri"];
  }

  //url分析:
  $parse_url = parse_url($url);
  $url_query = $parse_url["query"]; //单独取出url的查询字串
  if ($url_query) {
   $url_query = ereg_replace("(^|&)page=$page", "", $url_query);
   $url = str_replace($parse_url["query"], $url_query, $url);
   if ($url_query)
    $url .= "&page";
   else
    $url .= "page";
  } else {
   $url .= "?page";
  }
  $lastpg = ceil($totle / $displaypg); //最后页,也是总页数
  $page = min($lastpg, $page);
  $prepg = $page -1; //上一页
  $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
  $firstcount = ($page -1) * $displaypg;

  //开始分页导航条代码:
  $pagenav = "显示第 <b>" . ($totle ? ($firstcount +1) : 0) . "</b>-<b>" . min($firstcount + $displaypg, $totle) . "</b> 条记录,共 $totle 条记录";

 代码如下 复制代码
    $arr_1=array(
        "index/logo.png",
        "www.111cn.net/play.png",
        "movie/stop.png",
        "game/war_p.png",
        "game/starcaft_p.png",
        "music/fly.png"
    );


    
    $arr_2='index/logo.png';
   
    //怎样将$arr_2在$arr_1出现过的图片复制到"images/"目录下?
   
    //有没有判断某数组当中是否含有某子元素的函数?

 代码如下 复制代码
 if( in_array("hello", array("good","bad","hello")))
 {
  echo 'ture';
 }
 else
 {
  echo 'false';
 }


 //结果 true,找不到返回false

php教程中文用户名验证代码
 
 //php

 
 $val = "工作队";
 if(preg_match("/^[x80-xff]{4,16}$", $val))
 {
   return true;
 }


 
 // 在php中验证中文时可以把编码改成utf-8形式来做。
 
 //java

 name  =  new  string(request.getparameter("name").getbytes("utf8"),  "iso-8859-1");


 
 //asp教程.net中文用户名验证
 

 [u4e00-u9fa5]:

在php教程正则表达式中需要转义的字符如下:

$^*()+={}[]|/:<>.?'"

注意:perl风格中表达式要求以/开始和结尾,如:/food/ 表匹配字符 food

perl修饰符如下:

i 完成不区分大小写的搜索
g 查找所有出现(all occurrences,完成全局搜索)
m 将一个字符串视为多行(m就表示多(multiple))。默认情况下,^和$字符匹配字符串中的最开始和最末尾。使用m修饰符将使^和$匹配字符串中每行的开始
s 将一个字符串视为一行,忽略其中的所有换行符;它与m修饰符正好相反
x 忽略正则表达式中的空白和注释
u 第一次匹配后停止。默认情况下,将找到最后一个匹配字符结果。利用这个修饰符可以在第一次匹配后停止。进而形式循环匹配。

元字符说明:

利用perl正则表达式还可以做另一件有用的事情,这就是使用各种元字符来搜索匹配。元字符(metacharacter)就是一个前面有反斜线的字母字符,表示某种特殊含义。以下是一些有用的元字符。

a 只匹配字符串开头
b 匹配单词边界
b 匹配单词边界之外的任意字符
d 匹配数字字符,它与[0-9]相同
d 匹配非数字字符
s 匹配空白字符
s 匹配非空白字符
[] 包围一个字符类,字符类包括:[0-9] [a-z] [a-za-z] 等类似。
() 包围一个字符分组或定义一个反引用
$ 匹配行尾
^ 匹配行首
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 ?
. 匹配除换行之外的任何字符
引出下一个元字符
w 匹配任何只包含下划线和字母数字字符的字符串,它与 [a-za-z0-9_]相同
w 匹配没有下划线和字母数字字符的字符串

perl风格函数有:

array preg_grep(string pattern, array input [, flags])
搜索数组中所有元素,返回由与某个模式匹配的所有元素组成的数组
php 4.3增加了一个可选参数 flag,它接受一个值 preg_grep_invert 传递此标志将得到与该模式不匹配的数据元素。

int preg_match(string pattern, string string [, array matches [, int flags [, int offset]]])
在字符串中搜索模式,如果存在返回true,否则返回false。
可选输入参数matches可以包含搜索模式中包含的子模式的各个部分。默认返回 匹配的字符串,当有()子包围时,会在数组后面输出。

int preg_match_all(string pattern, string string, array pattern_array [, int order])
和函数 preg_match一样,不过 preg_match 只搜索一次,而 preg_match_all 会执行循环搜索,返回所有匹配的结果。

mixed preg_replace(mixed pattern, mixed replacement, mixed str [, int limit])
用replacement替换pattern的所有出现,并返回修改后的结果。
可选 limit 指定应当发生多少次匹配。不设置limit或设置为-1将替换所有出现的情况。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04