php生成word文档的实例

 更新时间:2016年11月25日 17:25  点击:1593
php生成word文档比excel感觉要方便多了,他只要设置一下头部信息我们就可以直接使用fopen来实现读取操作,下面看几个例子。

php直接用fopen生成的核心代码是

 代码如下 复制代码

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'.你的放的数据.'</html>

例子

 代码如下 复制代码

function word($data,$fileName=''){
 if(empty($data)) return '';
 $data='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'.$data.'</html>';
 if(empty($fileName)) $fileName=date('YmdHis').'.doc';
 $fp=fopen($fileName,'wb');
 fwrite($fp,$data);
 fclose($fp);
}

示例如下:

 代码如下 复制代码

<?php
$str='<title>利用php创建word文档</title>
 <h1>利用php创建word文档</h1>
 作者:phpernote.com
<hr size=1>
 <p>如果你打开word.doc,看到了这里的介绍,则说明word文档创建成功了。</p>
<p>
<b>版权所有:</b>
<br>www.111cn.net
<hr size=1>';
word($str);

为了方便使用我们把它整理成一个类文件

 代码如下 复制代码

<?php
class word
{
/*
@GNU:GPL
@author axgle <axgle@yahoo.com.cn>
@date 2005.4.20
*/

function start()
{
ob_start();
print'<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">';

}

function save($path)
{

print "</html>";
$data = ob_get_contents();

ob_end_clean();

$this->wirtefile ($path,$data);
}

function wirtefile ($fn,$data)
{

$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}

}

?>


使用方法超级简单

 代码如下 复制代码


<?php
include("word.php");
$word=new word;

$word->start();
?>

查询mysql数据生成word也是非常的简单我们只要连接数据库,然后把数据库的内容存放在类的$word字段中,然后再利用$word->start();生成即可。

碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我总结了好几个大家选择适合自己的吧。

对于函数我们可以常用下面方法,直接给函数设置超时时间。

 代码如下 复制代码
declare(ticks = 1);
    function a(){
    sleep(10);
    echo "a finishi ";
}
function b(){
    echo "Stop ";
}
function c(){
    usleep(100000);
}
 
function sig(){
    throw new Exception;
}
 
try{
    pcntl_alarm(1);
    pcntl_signal(SIGALRM, "sig");
    a();
    pcntl_alarm(0);
}catch(Exception $e){
    echo "timeout ";
}
 
b();
a();
b();

来操作

对于文件或程序代码可使用set_time_limit只是设置你的PHP程序的超时时间

解决方法:

1. 修改php.ini文件:

 代码如下 复制代码
 
max_execution_time = 30     ; // Maximum execution time of each script, in seconds

原值30秒,你可以改大点。

改完后记得重启php。该方法改了后对所有程序生效。

2. 修改你的程序,在你需要耗时超过默认值(30秒)的脚本中,加入代码:

 代码如下 复制代码
 
set_time_limit(300);   // 最大执行时间这里设置300秒

设置成0表示不限时。

 

今天发现本站的上一页与下一页出现有问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下。

先看个例子

1,2,3,4,5

假如上面5个是ID了,我要对上一页排序直接使用order by id desc ,如我当前ID为3那么出来的是2才对,对下一页我们要用order by id asc得出的排序应该是,4,好了原理就这么简。

sql实现方法

 代码如下 复制代码

上一页

$sql ="Select 字段 from 表名 where id<3 order by id desc limit 1";

下一页

$sql ="Select 字段 from 表名 where id>3 order by id asc limit 1";


得出的结果与我们想的是一样的,好了最后我把自己以前写的一个函数分享给各位。

 代码如下 复制代码

/*
 上一页,下一页
 int $tag 0上一页,1下一页
 int $fid www.111Cn.net
*/
 function nextPre($tag=0,$zid,$fid)
 {
  if( $tag )
  {
   $sql ="Select 字段 from 表名 where id<$fid order by id desc limit 1";
  }
  else
  {
   $sql ="Select 字段 from 表名 where id>$fid order by id asc limit 1";
  }
  //$sql = "Select * from 表名 where order by id desc limit 0,10";
  $result =  mysql_query($sql) or die('query error');
  if( mysql_num_rows( $result ) )
  {
   $rs = mysql_fetch_array( $result );
   return "<a href="".$rs['s_url']."">".$rs['title']."</a>";
  }
  else
  {
   return '没有了';
  }
 }

注意:本站原创教程转载必须注明来源http://www.111cn.net 否则后果自负

下面给大家分享一个Php实现无限栏目分类读取的例子,希望文章对各位会带来帮助。

实现无限极栏目分类思路: 获取自增加ID(也就是父ID) 然后在到数据库获取子ID(也就是uid子id) 数据如下
id:1  uid:0  我是栏目1
id:2  uid:1  我是栏目2
id:3  uid:1  我是栏目1的子类

显示结果:                                                
我是栏目1                                                
我是栏目1的子类
我是栏目2                

下面是Php代码

 代码如下 复制代码

<?php
 $query = $this->db->query("SELECT * FROM category");
 $list = $query->result();
 foreach($list as $v){
 if($v->category_id == 0){//获取父栏目(等于0的都是父栏目)
 $categoryul = anchor("home/content/".$v->id,$v->category_name);
 echo "<ul>".$categoryul."</ul>";
 $listx = $this->Listx->list_id($v->id);//在根据父id显示出指定的子栏目
 foreach($listx as $vid){
 
 $category = anchor("home/content/".$vid->id,$vid ->category_name);
 echo "<li>".$category."</li>";
   }
    }
  }
?> 

网站流量大但是访客就是不要点击!着让我们想赚钱的站长苦恼不以!但是在php中有这么一个很好的函数就是:session。思路是这样的:用session来保存每一个访问者的ip。

这样 访问一次后就不调广告了。这样就2全奇美了。不会乱跳广告。二又可以增加收入。

代码如下:
 

 代码如下 复制代码

<?php
session_start();
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
$i = $_SESSION['vv']=$_SESSION['vv']+1;

if ($i < 2):?>

您的弹跳窗代码   

<?php endif; ?>

 

注意:必须要是弹跳窗的广告才能现实!

[!--infotagslink--]

相关文章

  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • PHP自动生成后台导航网址的最佳方法

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • php生成唯一数字id的方法汇总

    关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
  • PS中像素大小、文档大小的区别

    在PS中像素大小、文档大小有什么区别呢,这个估计很多初学者不清楚,下面我来给大家讲解一下,希望对你有帮助。 1、像素大小 通常用于显示屏显示的图片大小的调整。菜...2016-09-14
  • js生成随机数的方法实例

    js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • PHP生成不同颜色、不同大小的tag标签函数

    复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • yii添删改查实例

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • php中利用str_pad函数生成数字递增形式的产品编号

    解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
  • JS生成某个范围的随机数【四种情况详解】

    下面小编就为大家带来一篇JS生成某个范围的随机数【四种情况详解】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-22
  • C#生成Word文档代码示例

    这篇文章主要介绍了C#生成Word文档代码示例,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25
  • Vue组件文档生成工具库的方法

    本文主要介绍了Vue组件文档生成工具库的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-11
  • PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28
  • C#中的IEnumerable简介及简单实现实例

    这篇文章主要介绍了C#中的IEnumerable简介及简单实现实例,本文讲解了IEnumerable一些知识并给出了一个简单的实现,需要的朋友可以参考下...2020-06-25
  • Java开发SpringBoot集成接口文档实现示例

    这篇文章主要为大家介绍了Java开发SpringBoot如何集成接口文档的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步...2021-10-28