1. php如何判斷頁面是手機端還是pc端
PHP 有個手機檢測的庫很出名啊 Mobile-Detect
地址:https://packagist.org/packages/mobiledetect/mobiledetectlib
或者
<?php
functionisMobile(){
$useragent=isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'';
$useragent_commentsblock=preg_match('|(.*?)|',$useragent,$matches)>0?$matches[0]:'';
functionCheckSubstrs($substrs,$text){
foreach($substrsas$substr){
if(false!==strpos($text,$substr)){
returntrue;
}else{
returnfalse;
}
}
}
$mobile_os_list=array('GoogleWirelessTranscoder','WindowsCE','WindowsCE','Symbian','android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','OperaMobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');
$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock)||CheckSubstrs($mobile_token_list,$useragent);
if($found_mobile){
returntrue;
}else{
returnfalse;
}
}
if(isMobile())
echo'phone';
else
echo'pc';
?>
2. php判斷是移動端還是pc
直接貼代碼了:
<?php
functionisMobile()
{
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
{
returntrue;
}
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA']))
{
//找不到為flase,否則為true
returnstristr($_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'
);
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT'])))
{
returntrue;
}
}
returnfalse;
}
//用法
if(isMobile()){
echo"這是手機";
}
就這樣。
3. PHP判斷用戶在移動端訪問還是桌面端訪問的代碼
<?php
functionisMobile()
{
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
{
returntrue;
}
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA']))
{
//找不到為flase,否則為true
returnstristr($_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'])))
{
returntrue;
}
}
//協議法,因為有可能不準確,放到最後判斷
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'))))
{
returntrue;
}
}
returnfalse;
}
?>
4. php怎麼判斷訪問端是移動端還是pc端
2002年到2010年這之間php異軍突起的主要原因,是因為互聯網尤其是pc端的崛起,那時快速迭代開發,是所有中小企業最大的需求,管你什麼介面速度,運行效率,單線程還是多線程庫多還是庫少,只要能在短時間內把網站搞起來就行。
直到2010年以後移動端的出現app的使用大幅度超過pc端,前後端開始逐步分離,php本身可以嵌入html代碼就不再是特別大的優勢了,尤其php對進程線程協程的支持不夠使得一些app性能需求無法滿足,因此php更多開始和其他語言混用,甚至被其他像go,python這樣的語言壓制並搶占份額。
雖然說總體上我對php的發展還是樂觀的,畢竟社區,體量,易用性擺在那裡,尤其是php8即將誕生。但是隨著移動互聯網逐漸走向尾聲,app開發對性能要求的更高php在某些方面的劣勢也越來越明顯。因此對於php的培訓減少並不奇怪。
5. php 判斷是移動端APP還是移動端瀏覽器還是PC瀏覽器
<?phpfunction 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;} ?>
6. 通過PHP 判斷用戶的設備是否是移動設備
<?php 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' ); if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } return false;} //用法if (isMobile()) { echo "這是手機";}
7. PHP如何識別是電腦端或手機移動端訪問網站
用css來判斷當前頁面的寬度和高度,現在pc的解析度最低都在1200*768以上,iPad pro的寬度為1024px,當寬度大於1100px以上,都可以認為當前訪問端為pc,一般iPad的寬度為768px,iPhone X的寬度為375px;所以當寬度低於800以下的,都視為手機移動端,現在的pc和手機自適應頁面都是按照這個來區分的。
8. PHP判斷訪問者手機移動端還是PC端的函數,親測好用
functionisMobile(){
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE'])){
returntrue;
}
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA'])){
//找不到為flase,否則為true
returnstristr($_SERVER['HTTP_VIA'],"wap")?true:false;
}
//腦殘法,判斷手機發送的客戶端標志,兼容性有待提高。其中'MicroMessenger'是電腦微信
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','MicroMessenger');
//從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){
returntrue;
}
}
//協議法,因為有可能不準確,放到最後判斷
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')))){
returntrue;
}
}
returnfalse;
}