本文目录一览:
- 关于32位和64位的PHP问题?
- PHP网站如何统计游客是用什么机型访问网站的,是什么操作系统,是Win还是iphone还是安卓?
- php如何判断当前的操作系统是linux还是windows
- PHP如何选择服务器操作系统
- php_uname()函数详解
- php 判断手机操作系统
关于32位和64位的PHP问题?
php开发的程序不区分系统32位还是64位,如果你是说Php环境安装包的话,最好与系统配套吧。
PHP网站如何统计游客是用什么机型访问网站的,是什么操作系统,是Win还是iphone还是安卓?
该功能的实现思路是通过HTTP_X_WAP_PROFILE
、HTTP_VIA
、HTTP_USER_AGENT
等信息来判断访客是否通过移动端浏览器访问PHP网站。以下是PHP代码:
/**
* 是否移动端访问访问
*
* @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") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array(
'nokia',
'sony',
'ericsson',
'mot',
'samsung',
'htc',
'sgh',
'lg',
'sharp',
'sie-',
'philips',
'panasonic',
'alcatel',
'lenovo',
'iphone',
'ipod',
'blackberry',
'meizu',
'android',
'netfront',
'symbian',
'ucweb',
'windowsce',
'palm',
'operamini',
'operamobi',
'openwave',
'nexusone',
'cldc',
'midp',
'wap',
'mobile'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
return true;
}
}
return false;
}
php如何判断当前的操作系统是linux还是windows
PHP判断当前操作系统的方法很多,比如:
- 直接使用PHP预定义常量
PHP_OS
来获取;
<?php
header("Content-type:text/html;charset=utf-8;");
$os_name = PHP_OS;
if (strpos($os_name, "Linux") !== false) {
$os_str = "Linux操作系统";
} else if (strpos($os_name, "WIN") !== false) {
$os_str = "Windows操作系统";
}
echo $os_str;
- 还可以通过用户浏览器信息来判断操作系统。
<?php
header("Content-type:text/html;charset=utf-8;");
// 测试
echo get_user_os();
// Windows操作系统
function get_user_os()
{
// 获取用户浏览信息参数
$agent = $_SERVER['HTTP_USER_AGENT'];
// 获取操作系统类型
if (strpos($agent, "NT 6.1")) {
$os_name = "Windows 7";
} elseif (strpos($agent, "NT 5.1")) {
$os_name = "Windows XP (SP2)";
} elseif (strpos($agent, "NT 5.2") && strpos($agent, "WOW64")) {
$os_name = "Windows XP 64-bit Edition";
} elseif (strpos($agent, "NT 5.2")) {
$os_name = "Windows 2003";
} elseif (strpos($agent, "NT 6.0")) {
$os_name = "Windows Vista";
} elseif (strpos($agent, "NT 5.0")) {
$os_name = "Windows 2000";
} elseif (strpos($agent, "4.9")) {
$os_name = "Windows ME";
} elseif (strpos($agent, "NT 4")) {
$os_name = "Windows NT 4.0";
} elseif (strpos($agent, "98")) {
$os_name = "Windows 98";
} elseif (strpos($agent, "95")) {
$os_name = "Windows 95";
} elseif (strpos($agent, "Linux")) {
$os_name = "Linux";
}
if (strpos($os_name, "Linux") !== false) {
$os_str = "Linux操作系统";
} else if (strpos($os_name, "Windows") !== false) {
$os_str = "Windows操作系统";
} else {
$os_str = "未知操作系统";
}
return $os_str;
}
- 使用
php_uname
函数来获取;
<?php
header("Content-type:text/html;charset=utf-8;");
$os_name = php_uname();
if (strpos($os_name, "Linux") !== false) {
$os_str = "Linux操作系统";
} else if (strpos($os_name, "Windows") !== false) {
$os_str = "Windows操作系统";
}
echo $os_str;
PHP如何选择服务器操作系统
如果是虚拟主机,php一般要选择的Unix/Linux系统,如果是自己的主机,那用windows也是可以的。
php_uname()函数详解
php_uname
— 返回运行 PHP 的系统的有关信息。
语法: php_uname([$mode])
php_uname()
函数会返回运行 php 的操作系统的相关描述,和 phpinfo()
最顶端上输出的是同一个字符串。 如果仅仅要获取操作系统的名称。可以考虑使用常量 PHP_OS
,不过要注意该常量会包含 PHP 构建(built)时的操作系统名。
php 判断手机操作系统
根据useragent
来完成,示例:
function isMobileSystem()
{
$agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/ipad/i', $agent) ||
preg_match('/iphone\s*os/i', $agent) ||
preg_match('/android|wp7|wp8|surface|nokia|sumsang/i', $agent) ||
preg_match('/wbxml|wml/i', $_SERVER['HTTP_ACCEPT'])) {
return true;
}
return false;
}