本节内容:
php heredoc
在php编程中,巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。
如下:
<?php
$name = '浅水游';
print <<<EOT
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<!--12321-->
Hello,$name!
</body>
</html>
EOT;
?>
1,以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。
2,位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
在heredoc中,变量不需要用连接符.或,来拼接,如下:
$v=2;
$a= <<<EOF
"abc"$v
"123"
EOF;
echo $a; //结果连同双引号一起输出:"abc"2 "123"
3,heredoc常用在输出包含大量HTML语法d文档的时候。
比如:函数outputhtml()要输出HTML的主页。可以有两种写法。
第二种写法比较简单和易于阅读。
<?php
function outputhtml(){
echo "<html>";
echo "<head><title>主页</title></head>";
echo "<body>主页内容</body>";
echo "</html>;
}
function outputhtml()
{
echo <<<EOT
<html>
<head><title>主页</title></head>
<body>主页内容</body>
</html>
EOT;
}
outputhtml();
您可能感兴趣的文章:
php中heredoc的用法详解
PHP echo heredoc语法的用法总结
php中heredoc的方法(EOF)详解
深入PHP EOF(heredoc)用法详解
有关php中heredoc的例子与说明
本节内容:
PHP防止跨域提交表单
在写用户注册时,注意下表单是否可以跨域提交.
php中解决的方法:
1,除了在页面做好表单的验证之外,还要在提交的服务段的数据进行验证。
验证的主要代码:
$servername=$_SERVER['SERVER_NAME'];//当前运行脚本所在服务器主机的名字。
$sub_from=$_SERVER["HTTP_REFERER"];//链接到当前页面的前一页面的 URL 地址
$sub_len=strlen($servername);//统计服务器的名字长度。
$checkfrom=substr($sub_from,7,$sub_len);//截取提交到前一页面的url,不包含http:://的部分。
if($checkfrom!=$servername){
$msg="数据来源有误!请从本站提交!";
$this->redirect("m_index/reg",$msg);
exit;
}
2,本站关闭注册,使用像信浪微博,腾讯等开发平台登陆。
3,在apache 中配置hostlookups 参数。这个是以消耗性能为前提的。
您可能感兴趣的文章:
php使用P3P实现跨域的方法分享
http与https跨域共享session的解决方法
php借助P3P完成COOKIE跨域操作的方法分享
php中json的跨域实例分析
php session跨域跨服务器的解决方法分享
php 跨域、跨子域,跨服务器读取session的方法介绍
php的json格式和js跨域调用的代码
php JSON 跨域调用数据的例子
本节内容:
php判断是否手机访问
在php编程中,判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。
判断用户是否用手机访问。
自定义函数代码:
<?php
$agent = check_wap();
if( $agent )
{
header('Location: http://www.');
exit;
}
// check if wap
function check_wap(){
// 先检查是否为wap代理,准确度高
if(stristr($_SERVER['HTTP_VIA'],"wap")){
return true;
}
// 检查浏览器是否接受 WML.
elseif(strpos(strtoupper()($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){
return true;
}
//检查USER_AGENT
elseif(preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])){
return true;
}
else{
return false;
}
}
2,断是否为手机移动终端的函数:
/**
* 检测是否为手机终端设备
* edit: www.
*/
function is_mobile_request()
{
$_SERVER['ALL_HTTP'] = isset()($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : '';
$mobile_browser = '0';
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', strtolower()($_SERVER['HTTP_USER_AGENT'])))
$mobile_browser++;
if((isset($_SERVER['HTTP_ACCEPT'])) and (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false))
$mobile_browser++;
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
$mobile_browser++;
if(isset($_SERVER['HTTP_PROFILE']))
$mobile_browser++;
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-'
);
if(in_array($mobile_ua, $mobile_agents))
$mobile_browser++;
if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false)
$mobile_browser++;
// Pre-final check to reset everything if the user is on Windows
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false)
$mobile_browser=0;
// But WP7 is also Windows, with a slightly different characteristic
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false)
$mobile_browser++;
if($mobile_browser>0)
return true;
else
return false;
您可能感兴趣的文章:
php判断是否wap手机客户端的方法详解
php 判断访问来源是否手机并自动跳转的代码
php中HTTP_USER_AGENT判断手机类型的函数
最新手机号码正则表达式(php版)
php判断是否手机访问的函数(HTTP_USER_AGENT用法)
php判断是否手机访问的代码
判断是否手机访问的php js代码