ob_start 生成html页面代码

 更新时间:2016年11月25日 17:32  点击:1457

ob_start([string output_callback])- 打开输出缓冲区
  所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区

使用output control 函数可以让自由控制脚本中数据的输出,这在我们想在header之前输出时很有用。

 

 <?php教程
  ob_start(); //打开缓冲区
  echo "输出n"; //输出
  header(“头部信息”);

  ob_end_flush();//输出全部内容到浏览器
  ?>

  

我个人使用ob多数是在生成静态html的时候,当某个页面不会再刷新,当其他的用户再次浏览此页面时,

程序将不会再调用php以及相关的数据库教程。这时候使用ob生成html就是很好的做法。

<?php

  ob_start();

  if(@readfile($tem_path)){     //把指定路径中的内容写入缓存中。如果不存在返回false(就是某个你想转换成html的php文件)
       $content= ob_get_contents();       //得到缓存中的内容

      $fp = fopen("1.html", "w"); //创建一个文件,并打开,准备写入
      fwrite($fp, $content); //把php页面的内容全部写入1.html

  }
   fclose($fp);

  ob_clean();
?>

ignore_user_abort()实现php教程文件能够在浏览器关掉之后照样运行,那么我们先来看看这个函数用法

ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。

本函数返回 user-abort 设置的之前的值(一个布尔值)。
phpignore_user_abort()实现计划任务功能

语法
ignore_user_abort(setting)参数 描述
setting 可选。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。

如果未设置该参数,会返回当前的设置。
 
提示和注释
注释:php 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止。简单地使用 echo 语句无法确保信息发送,参阅 flush() 函数。


当然,要想使程序一直执行,还必须加上set_time_limit(0);

 每次我们访问php脚本的时候,都是当所有的php脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过php长连接的方式

好下面进入正题

linux 下有种更简单的方法,就是crontab命令
 
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
 
crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息
 
crontab的格式:
*  *   *  *  *  command
分 时 日 月 星期 要运行的命令
 
crontab的例子:
 
*/5 * * * *  lynx http://111cn.net
每5分钟访问一次 111cn.net
 
0 8 * * *  lynx http://111cn.net
每天早上8点访问 111cn.net
 
0 10 6 * 1-5 lynx http://111cn.net
每个月的6号和每个礼拜的星期一到星期五的早上10点访问 111cn.net
 
0 5 7 8 * lynx http://111cn.net
8月7日早上5点访问 111cn.net
 
上面几个特殊的意思:
"*"代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

<!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 http-equiv="content-type" content="text/html; charset=gb2312" />
<title>ajax php教程用户无刷新登录实例</title>
<script>
function userlogin(){
    var xmlhttp;
    var str;
    var sendstr="";
     try{
             xmlhttp=new xmlhttprequest();
         }
 catch(e){
             xmlhttp=new activexobject("microsoft.xmlhttp");
        }
 xmlhttp.onreadystatechange=function(){
          if (xmlhttp.readystate==4){
              if (xmlhttp.status==200){  
      str = xmlhttp.responsetext;  
      document.getelementbyid("userlogin").innerhtml=str; 
      }else{
      alert("系统错误,如有疑问,请与管理员联系!"+xmlhttp.status);
    }
          }
       }
 xmlhttp.open("post","config/userlogin.php",true);
 xmlhttp.setrequestheader('content-type','application/x-www-form-urlencoded');
 xmlhttp.send(sendstr);
 }
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <p>
    <label for="textfield"></label>
    <input type="text" name="uname" id="uname" /><span id="userlogin"></span><br />
<input type="text" name="upwd" id="upwd" /><span id="upwds"></span>
  输入用户名</p>
  <p>
    <input type="button" name="button" id="button" value="登录" onclick="userlogin();" />
  </p>
</form>
</body>
</html>

userlogin.php文件

<?
$uid = $_post['uname'];
$pwd = $_post['upwd'];
$sql ="select * from tabname where uid='$uid' and pwd='$pwd'";
$query = mysql教程_query( $sql );
if( mysql_num_rows( $query ) )
{
    echo '登录成功';
 }
 else
 {
     echo '用户名或密码不正确!';
  }
?>
//初始化session
session_start();
//添加url rewrite的值
output_add_rewrite_var('var','value');
//插入一个连接
echo '<a href="file.php教程">link</a>';
//发送缓冲区数据
ob_flush();
//重置url rewrite的值
output_reset_rewrite_vars();
//插入一个连接
echo '<a href="file.php">link</a>';

/*

*/

print_r(ob_list_handlers());     //列出使用的输出句柄,将输出default output handler
ob_end_flush();        //发送缓冲区数据并关闭缓冲区
ob_start("ob_gzhandler");      //打开缓冲区,并使用ob_gzhandler
print_r(ob_list_handlers());     //列出输出句柄,将输出ob_gzhandler
ob_end_flush();        //发送缓冲区数据并关闭缓冲区
ob_start(create_function('$string','return $string;')); //打开缓冲区
print_r(ob_list_handlers());     //列出使用的输出句柄,将输出default output handler
ob_end_flush();        //发送缓冲区数据并关闭缓冲区

/*

*/

if(ob_get_level()==0)      //判断缓冲区等级,如果没有活动缓冲区
ob_start();        //打开缓冲区
for($i=0;$i<10;$i++)      //循环执行操作
{
  echo "<br>line to show.";    //输出内容
  echo str_pad('',4096)."n";    //输出生成的字符串
  ob_flush();       //发送缓冲区数据
  flush();        //刷新缓冲区
  sleep(1);       //暂停1秒
}
echo "done.";       //输出操作完成标记
ob_end_flush();       //发送缓冲区数据,并关闭缓冲区

?>

mt_rand() 使用 mersenne twister 算法返回随机整数。

语法
mt_rand(min,max)说明
如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 rand_max 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。

*/
echo mt_rand();        //生成随机数
echo "<br/>";
echo mt_rand();        //生成随机数
echo "<br/>";
echo mt_rand(10,100);       //生成10~00之间的随机数

/*
mt_srand() 播种 mersenne twister 随机数生成器。

语法
mt_srand(seed)参数 描述
seed 必需。用 seed 来给随机数发生器播种。

说明
从 php教程 4.2.0 版开始,seed 参数变为可选项,当该项为空时,会被设为随时数。

*/

function make_seed()          //生成一个随机数种子
{
  list($usec,$sec)=explode(' ',microtime());      //分割当前的毫秒数
  return(float) $sec+((float)$usec*100000);      //返回值
}
mt_srand(make_seed());          //为随机数发生器播种
$randval=mt_rand();           //生成随机数
echo $randval;            //输出结果

/*
rand() 函数返回随机整数。

语法
rand(min,max)参数 描述
min,max 可选。规定随机数产生的范围。

说明
如果没有提供可选参数 min 和 max,rand() 返回 0 到 rand_max 之间的伪随机整数。例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。

*/

echo rand();        //生成随机数
echo "<br/>";
echo rand();        //生成随机数
echo "<br/>";
echo rand(5,15);       //生成5~15之间的随机数

/*
注释:在某些平台下(例如 windows)rand_max 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 rand_max 的数了,或者考虑用 mt_rand() 来替代它
*/

[!--infotagslink--]

相关文章

  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP传值到不同页面的三种常见方式及php和html之间传值问题

    在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大...2015-11-24
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • jQuery实现切换页面过渡动画效果

    直接为大家介绍制作过程,希望大家可以喜欢。HTML结构该页面切换特效的HTML结构使用一个<main>元素来作为页面的包裹元素,div.cd-cover-layer用于制作页面切换时的遮罩层,div.cd-loading-bar是进行ajax加载时的loading进...2015-10-30
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • php二维码生成

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

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

    这篇文章主要介绍了解决vue刷新页面以后丢失store的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06