ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Headerhadallreadysendby"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:
1.用于header()之前
ob_start();//打开缓冲区
echo/"Hellon/";//输出
header("location:index.php");//把浏览器重定向到index.p...
1、全页面静态化缓存
也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;
一种比较常用的实现方式是用输出缓存:
Ob_start()
******要运行的代码*******
$content=Ob_get_contents();
****将缓存内容写入html文件*****
Ob_end_clean();
2、页面部分缓存
该种方式,是将一个页面中不经常变...
array_sum()函数返回数组中所有值的总和。如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数
array_sum()定义和用法
array_sum()函数返回数组中所有值的总和。
如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。
PHP4.2.1之前的版本修改了传入的数组本身,将其中的字符串值转换成数值(大多数情况下都转换成了零,根据具体制而定)...
文实例讲述了php实现插入数组但不影响原有顺序的方法。分享给大家供大家参考。具体实现方法如下:
functionarray_intsort($array,$num){
$array_right=$array_left=array();
$length=count($array);
if($num<$array[0]){
array_unshift($array,$num);
return$array;
}else{
for($i=0;$i<$length;$i++){
if($i+1<$length){
if($array[$i]<$num&&$num<$array[$i+1]){
$array_right=...
如果我们是一维数组增加数组元素我们可以使用ArrayListay_push,当然除这种方法之外我们还有更直接的办法,这里就来给大家整理一下.
一维数组增加元素
$ArrayList=ArrayListay();
Array_push($ArrayList,el1,el2...eln);
但其实有一种更直接方便的做法,代码如下:
$ArrayList=ArrayListay();
$ArrayList[]=el1;
$ArrayList[]=el2;
...
$ArrayList[]=eln;
两种方法得出的效果是一样的.
添加一个或多个元...
HP中的循环结构大致有for循环,while循环,do{}while循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式:
代码:
复制代码代码如下:
<?php
$i=1;
while(true){//这里看上去这个循环会一直执行
if($i==2){//2跳过不显示
$i++;
continue;
}elseif($i==5){//但到这里$i=5就跳出循循环了
break;
}else{
echo$i.'<br>';
}
$i++;
}
exit;
echo'这里不输出';
?>
...
PHP的命名空间(namespace)是php5.3之后才有的。这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。
为什么php中要使用namespace?
假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的。因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件。所以在没有namespace的时候,我们会想各种命名规则来区分不同的类,比如project1_school1_cla...
今天突然遇到这个错误,Table''ismarkedascrashedandshouldberepaired,经过一番搜索得到以下解决方案
解决方法:
第一步:找到mysql的安装目录的bin/myisamchk工具所在的目录,在dos模式下定位到此目录
第二步:在命令行中输入:myisamchk-c-r../data/mysql/user.MYI
然后myisamchk工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。
微信接口开发错误提示“{“errcode”:40001,”errmsg”:”invalidcredential”}”
在做微信接口开发自定义菜单时,代码总是报”{“errcode”:40001,”errmsg”:”invalidcredential”}”。
后来发现token和access_token原来是不同的概念,token是在微信后台选择开发模式的时候填写的,而access_token则是通过接口调用生成的。
调用的语句是:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cred...
用file_get_contents以get方式获取内容示例
<?php
$url='http://www.baidu.com/';
$html=file_get_contents($url);
//print_r($http_response_header);
ec($html);
printhr();
printarr($http_response_header);
printhr();
?>
在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个
“PHPWarning:date()[function.date]:Itisnotsafetorelyonthesystem’stimezonesettings.
Youare*required*tousethedate.timezonesettingorthedate_default_timezone_set()function.
Incaseyouusedanyofthosemethodsandyouarestillgettingthiswarning,youmostlikely
misspelledthetimezoneidentifier.Weselected‘UTC’for’8.0/noDST’in...
php页面为utf编码
header("Content-type:text/html;charset=utf-8");
php页面为gbk编码
header("Content-type:text/html;charset=gb2312");
php页面为big5编码
header("Content-type:text/html;charset=big5");
通常情况以上代码放在php页面的头部执行,适用于纯php代码页面,如果是混合页面在html中以metar的方式设置即可
用file_get_contents函数,以post方式获取url的示例
<?php
$data=array('foo'=>'bar');
$data=http_build_query($data);
$opts=array(
'http'=>array(
'method'=>'POST',
'header'=>"Content-type:application/x-www-form-urlencoded\r\n".
"Content-Length:".strlen($data)."\r\n",
'content'=>$data
),
);
$context=stream_context_create($opts);
$html=file_get_...
由于工作需要最近要开始研究MySQL了(看来学习都是逼出来的),本人对mysql没有研究,可以说一个小白。下面就从安装开始吧,虽然网上关于这方面的东西很多,还是需要自己把操作过程写下来。
1、数据库下载
Mysql官方网站:http://www.mysql.com/,数据库下载地址:http://www.mysql.com/downloads/。从官方网站可以找到两种文件包,一种是exe安装程序,另一种是zip压缩包。本人喜欢清爽的方式,所以...
首先确认IIS中启用了CGI功能:
IIS7.5中为了易于PHP程序的安装,增设了PHPManager模块。只要您简单设定,其它的工作自动到位!
再开启IIS,会发现里面多了一个PHPManager图标项了。
到http://php.net/downloads.php下载最新的php版本(此处以php5.3.5为例)。我们下载【VC9x86NonThreadSafe】这个版本的zip包就好。
然...