2

我需要人们使用 PHP 检测设备的显示分辨率的帮助。

切换界面时我的代码有问题我有以下代码:

 $_page="home";
 if(get('page'))
    $_page=strtolower(get('page'));
 // Check if larger than 800px screen will show this code.
 $_pagePath='Includes/desktop/'.$_page.'_left.php';
 // Check if the screen is smaller than 800px will display this code.
 $_pagePath='Includes/mobile/'.$_page.'_left.php';  
 if(file_exists($_pagePath))
            include $_pagePath;
 else
    echo 'File '.$_pagePath.' not found';

请帮我完成这段代码。

4

1 回答 1

5

您将无法使用 PHP 检测屏幕大小,因为 PHP 是基于服务器的。但是,您可以使用 javascript 检测屏幕大小并告诉服务器。最简单的方法是设置一个cookie。

由于您没有说您想要宽度还是高度,我假设在下面的代码中您只对其中较大的代码感兴趣。

<script type="text/javascript">
  var c=document.cookie;
  document.cookie='size='+Math.max(screen.width,screen.height)+';';
</script>

然后在你的PHP脚本中检查它

if($_COOKIE["size"]>800)
  $_pagePath='Includes/mobile/'.$_page.'_left.php'; 
else
  $_pagePath='Includes/desktop/'.$_page.'_left.php'; 

这种方法的唯一问题是,如果用户第一次连接他还没有 cookie,那么服务器将不知道分辨率。同样适用于不接受 cookie 的用户。

于 2014-10-01T08:38:26.237 回答