多数大学生出来选择的工作和专业无关
首页 > 专业知识

php导出生成word的方法_PHP

时间:2018-11-22 08:46:59 [来源]:郑州PHP培训学校

   php导出生成word的方法_PHP

  本文实例讲述了php导出生成word的方法。分享给大家供大家参考,具体如下:
  PHP导出word
  (1)首先,预览html页面,示例化对象,定义要导出的数据(2)点击下载页面,给id传值(任何值均可,仅用于判断),如果id有值,输出缓冲文件,保存为word格式。
  (3)点击下载后,(如果是图片的话,在保存为word时要使用绝对路径,这样才可以在保存的word中正常显示)(4)关闭缓存输出
  Word_con.php 预览要导出的html文件
  <?php
  if(@$_GET[id]!='')
  {
  include('word_fun.php');
  $word=new word();//示例化对象
  $word->start();//定义要保存数据的开始
  }
  include('word_show.php');
  if(@$_GET[id]!='')
  {
  $word->save('word_c.doc');//定义要保存数据的结束,同时把数据保存到word中}
  if(@$_GET[id]=='')
  {
  //超链接中的x仅仅是为了传一个值,确认下载,没有其他的实际yi?>
  点击跳到下载页面
  <?php
  }else{
  echo "下载";
  }
  ?>
  Word_fun.php 导出word相关函数
  <?php
  class word
  {
  function start() //定义要保存数据的开始
  {
  ob_start(); //开始输出缓冲
  //设置生成word的格式
  print '';
  }
  function save($path) //定义要保存数据的结束,同时把数据保存到word中//所要保存的数据必须限定在该类的start()和save()之间{
  print "";
  $data=ob_get_contents(); //返回内部缓冲的内容 即把输出变成字符串ob_end_clean(); //结束输出缓冲,清洁(擦除)输出缓冲区并关闭输出缓冲$this->wirtetoword($path,$data);
  }
  function wirtetoword($fn,$data) //将数据已二进制的形式保存到word中{
  $fp=fopen($fn,"wb");
  fwrite($fp,$data);
  fclose($fp);
  }
  }
  ?>
  Word_show.php 连接数据库,查询相关数据
  <?php
  include('conn.php'); //连接数据库
  $sq="select zf_content from zf where `zf_id`=137";$sql=mysql_query($sq);
  while(($que=mysql_fetch_array($sql))!=false){
  echo "hahaahahha";
  echo $que['zf_content'];
  }
  ?>
  非常重要的php正则表达式详解_PHP
  正则表达式是php中一个非常重要的知识点,通常用来查找和替换字符串,最常用的就是验证用户输入的信息格式是否正确,如邮件格式、电话格式等等。还有比如采集器之类的软件中,正则也是必用不可!
  现在开始来学习正则表达式的基本语法:
  1.“/”是定界符,“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。同时为了正则更加灵活,引入了元字符,即“+”, “*”,以及 “?”。
  (1)“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次比如:/php+/,能够与“phpp”匹配,即字母ph后面连续出现一个或多个字母p的字符串相匹配。
  (2)“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次比如:/php*/能够与“phpddt”相匹配,即ph后面可以有0个或多个p(3)“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。
  比如:/php?/能够“pher”匹配,即phh后面可以有0个或者1个p其他重要的元字符:
  \s:用于匹配单个空格符,包括tab键和换行符;\S:用于匹配除单个空格符之外的所有字符;
  \d:用于匹配从0到9的数字;
  \w:用于匹配字母,数字或下划线字符;
  \W:用于匹配所有与\w不匹配的字符;
  . :用于匹配除换行符之外的所有字符。
  示例:/\s+/用于匹配目标对象中的一个或多个空格字符2.定位符用于规定匹配模式在目标对象中的出现位置。常用的有“^”, “$”, “\b” 以及 “\B”
  (1)“^”定位符规定匹配模式必须出现在目标字符串的开头(2)“$”定位符规定匹配模式必须出现在目标对象的结尾(3)\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一(4)“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内3.php的正则匹配模式非常灵活,可以指定某一范围例如:
  /[A-Z]/
  上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
  /[a-z]/
  上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
  /[0-9]/
  上述正则表达式将会与从0到9范围内任何一个数字相匹配。
  /([a-z][A-Z][0-9])+/
  上述正则表达式将会与任何由字母和数字组成的字符串4.可以同时与多种模式选择匹配
  如/phpddt.com|phpddt|100/可以与“phpddt.com” “phpddt” “100”相匹配5.否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串例如:[^phpddt]匹配除了phpddt字符外的所有东西大家都应该掌握的PHP关联数组使用技巧_PHP
  在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量,这时候你可以把数据作为元素存储在数组中。数组中的元素都有自己的 ID,因此可以方便地访问它们。
  关联数组
  关联数组,它的每个 ID 键都关联一个值。在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。通过关联数组,我们可以把值作为键,并向它们赋值。
  这里介绍10个操作PHP关联数组的技巧,熟练运用能帮助你提高开发效率。
  1、添加数组元素
  PHP是一种弱类型语言,这意味着你不需要显示声明一个数组及其大小,相反,你可以同时声明并填充数组。
  $capitals = array(
  'Alabama' => 'Montgomery',
  'Alaska' => 'Juneau',
  'Arizona' => 'Phoenix'
  );
  额外的数组元素可以象下面这样追加:
  $capitals['Arkansas'] = 'Little Rock';
  如果你正在处理数字索引数组,你可能想使用显示命名的函数前置和追加元素,如array_push()和array_unshift()函数,但这些函数不能操作关联数组。
  2、删除数组元素
  如果要从数组中删除一个元素,请使用unset()函数,如:
  unset($capitals['California']);
  使用数字索引数组时,删除数组元素的办法更多,更灵活,可以使用array_shift()和array_pop()函数分别从数组的开头和末尾删除一个元素。
  3、交换键和值
  假设你想创建一个名叫$states的新数组,使用州府作为索引,使用州名作为关联值,使用array_flip()函数很容易完成这个任务。
  $capitals = array(
  'Alabama' => 'Montgomery',
  'Alaska' => 'Juneau',
  'Arizona' => 'Phoenix'
  );
  $states = array_flip($capitals);
  // $states = array(
  // 'Montgomery' => string 'Alabama',
  // 'Juneau'   => string 'Alaska',
  // 'Phoenix'  => string 'Arizona'
  // );
  4、合并数组
  假设前面的数组由一个基于Web的“FlashCard”服务使用,你想提供一种方法测试学生对美国各州首府的掌握情况,你可以使用array_merge()函数合并包含州和首府的数组。
  $stateCapitals = array(
  'Alabama' => 'Montgomery',
  'Alaska' => 'Juneau',
  'Arizona' => 'Phoenix'
  );
  $countryCapitals = array (
  'Australia' => 'Canberra',
  'Austria'  => 'Vienna',
  'Algeria'  => 'Algiers'
  );
  $capitals = array_merge($stateCapitals, $countryCapitals);

上一篇:大家须知简单的php性能优化注意点_PHP

下一篇:25个顶级PHP模板引擎整理