我需要人们使用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';
请帮我完成此代码。
答案 0 :(得分: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的用户。