检测是否手机浏览
php自定义函数,判定是否是使用手机浏览网站
1234567891011121314151617181920212223242526272829303132333435363738394041424344/** * 判断是否为手机浏览 * * @access static * @return bool */function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { //找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ...
读取POST请求的主体
问题:想直接访问post请求的主体,而不仅是使用PHP解析之后放在$_POST中的数据例如,想处理一个web服务请求发送过来的xml文档
方案:从php://input流中读取
123$body = file_get_contents('php//input');
如果只需要访问提交的表单变量,使用自动全局数组$_POST会更合适,如果想得到一个更大的请求主体,可以通过fread()为块为单位进行读取
如果配置指令always_populate_raw_post_data设置为on,那么原始的post数据也会被保存到全局变量$HTTP_RAW_POST_DATA中
php://input流的文档
PHP获取IP地址,及地址的地理位置
获取用户ip地址,获取IP地址所在的地理位置
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970<?php/** * 获取ip地址 */function getIPAddress() { if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }else if (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; ...
php检测不同的浏览器
问题:想基于用户所用浏览器的能力生成相应的内容
方案:更加get_browser()返回的对象来判断浏览器的能力
get_browser() 函数返回用户浏览器的性能。该函数通过查阅用户的 browscap.ini 文件,来测定用户浏览器的性能。若成功,则该函数返回包含用户浏览器信息的一个对象或一个数组,若失败,则返回 false。
get_browser(user_agent,return_array)user_agent:可选。规定 HTTP 用户代理的名称。默认是 $HTTP_USER_AGENT 的值。您可以通过设置 NULL 绕过该参数。return_array:可选。如果该参数设置为 true,本函数会返回一个数组而不是对象。
12345<?phpecho $_SERVER['HTTP_USER_AGENT'] . "<br /><br />";$browser = get_browser(null,true);print_r($browser);?>
get_browser()函数会检测环境变量 ...