ob_start 生成html页面代码
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() 来替代它
*/
相关文章
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?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实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
PHP传值到不同页面的三种常见方式及php和html之间传值问题
在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大...2015-11-24- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 直接为大家介绍制作过程,希望大家可以喜欢。HTML结构该页面切换特效的HTML结构使用一个<main>元素来作为页面的包裹元素,div.cd-cover-layer用于制作页面切换时的遮罩层,div.cd-loading-bar是进行ajax加载时的loading进...2015-10-30
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 一、日期减去天数等于第二个日期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
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
- 本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
- 这篇文章主要介绍了解决vue刷新页面以后丢失store的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06