使用php获取浏览器宽度

时间:2014-04-23 08:45:01

标签: javascript php

有没有办法通过PHP获取屏幕大小?我看过google,并通过javascript找到了一种方法:

PHP:

 <?php
   $width = "<script>sw=screen.width;</script>"; 
   $height = "<script>sh=screen.height;</script>"; 
   echo "Width&#58; ".$width." Height&#58; ".$height;
 ?>

但是这并没有以$ width或$ height存储任何东西。这是一个很好的方式去做吗?还是有另一种方式?

2 个答案:

答案 0 :(得分:1)

仅使用php无法获得浏览器宽度。 PHP是服务器代码。

尝试查看this。您可以使用ajax在php代码中发送(发布)浏览器宽度。

希望它有所帮助。

答案 1 :(得分:1)

你不能这样做,这是一种方法:

<?php
session_start();
if(isset($_POST['width'])){
   $_SESSION['screen_size'] = array();
   $_SESSION['screen_size']['width'] = intval($_POST['width']);
   $_SESSION['screen_size']['height'] = intval($_POST['height']);
}


if(!isset($_SESSION['screen_size'])){
?>
<html>
<head>
<script>
function getSize(){
document.getElementById('inp_width').value=screen.width;
document.getElementById('inp_height').value=screen.height;
document.getElementById('form_size').submit();
}
</script>
</head>
<body onload='getSize()'>
<form method='post' id='form_size'>
<input type='hidden' name='width' id='inp_width'/>
<input type='hidden' name='height' id='inp_height'/>
</form>
</body>
</html>


<?php
}else{
    var_dump($_SESSION['screen_size']);
}

这是一种简单的方法,页面将在第一次重新加载。

您可能想要使用AJAX。

此外,如果有人拒绝会话cookie,这将永远循环,如果浏览器接受cookie,则更好地测试。