如何使用PHP获取用户的屏幕分辨率

18

可能重复的问题:
使用PHP获取屏幕分辨率

这个问题很明确,我想要达到的目的是获取屏幕分辨率。

$width = ; //user screen width in here

F1!F1!


虽然您无法严格检测用户环境的分辨率,但是基于用户代理字符串,您可以合理地猜测所使用设备的类别(移动设备/平板电脑/桌面电脑)。请查看 http://mobiledetect.net/。 - bds
4个回答

40

你需要使用JavaScript,而不是PHP。

var screenWidth = window.screen.width,
    screenHeight = window.screen.height;
你可以通过Ajax(使用XmlHttpRequest)将其发送到服务器。 参见MDC window.screen 文档

你能分享一个通过AJAX发送到PHP变量的示例代码吗? - Faizan

9

在 PHP 中不可能做到。PHP 严格是服务器端语言。


4
天啊,我为什么会忘记这个事实…… - Moon
1
嗨,我了解。但我们可以从$ _SERVER变量访问的浏览器类型、供应商和首选语言等信息。例如:像语言这样的$ _SERVER ['HTTP_ACCEPT_LANGUAGE']。即使它是服务器端语言和执行,我们仍然可以从客户端获取此类信息。我想屏幕尺寸也应该提供,但我知道在当前世代中还没有,也许在将来它们可能会添加。@Femaref - sun
这些是HTTP头。HTTP用于访问网页,但这不是它唯一的作用。它是数据传输的标准,因此像屏幕空间(在数据到达客户端后成为关注点的东西)这样的东西在HTTP标准中没有位置。 - Femaref
你在说什么?你无法在php中获取客户端的分辨率,因为php不在客户端执行。 - Femaref

5

你无法在服务器端获取它,你必须使用JavaScript的innerWidth在客户端获取。如果需要,你可以使用AJAX将其传递到服务器端。


为什么会被否定?我的回答和被接受的答案一样相关,而且我比马特先回答了。 - jcomeau_ictx
3
好的,所以innerWidth在IE9之前的版本中无法使用。我忘记了这一点。我会接受我的投票,并现在保持沉默。 - jcomeau_ictx

2

您可以使用JavaScript。获取用户的屏幕,将其发送到服务器并通过php获取。


你能否提供一个通过Ajax向服务器PHP文件发送数据的示例? - Faizan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接