【问题标题】:how to get user's screen resolution with PHP [duplicate]如何使用 PHP 获取用户的屏幕分辨率 [重复]
【发布时间】:2010-11-14 22:44:45
【问题描述】:

可能重复:
Getting the screen resolution using PHP

这个问题不言自明

我想到达的地方是

$width = ; //user screen width in here

F1! F1!

【问题讨论】:

  • 虽然您无法严格检测用户环境的分辨率,但根据用户代理字符串,您可以合理准确地猜测所使用设备的类别(移动/平板/桌面)。查看mobiledetect.net

标签: php screen resolution


【解决方案1】:

您需要 JavaScript,而不是 PHP。

var screenWidth = window.screen.width,
    screenHeight = window.screen.height;

然后您可以通过 Ajax 将其发送到服务器(使用 XmlHttpRequest)。

另请参阅MDC window.screen docs

【讨论】:

  • 你能分享一个通过AJAX发送到php变量的示例代码吗?
【解决方案2】:

你不能,不是在 php.ini 中。 PHP 是严格的服务器端。

【讨论】:

  • 天啊....为什么我忘记了这个事实....
  • 嗨,我明白了。但是我们可以从$_SERVER 变量中访问浏览器类型、供应商和首选语言等信息。例如:$_SERVER['HTTP_ACCEPT_LANGUAGE'] 像这样的语言。即使它是服务器端语言和执行,我们仍然可以从客户端获取这样的信息。我想知道屏幕尺寸也应该提供,但我知道它不是当前一代,可能将来他们可以添加。@Femaref
  • 这些是 http 标头。 Http 用于访问网页,但这不是它唯一的作用。它是数据传输的标准,因此,屏幕空间(这是数据到达客户端后需要关注的问题)在 http 标准中没有一席之地。
  • 你在说什么?您无法在 php 中获取客户端解析,因为 php 未在客户端上执行。
【解决方案3】:

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

【讨论】:

  • 为什么是负面的?它与接受的答案一样相关,我在马特之前回答了。
  • 好的,所以在 IE9 之前,innerWidth 在 IE 中不起作用。忘记了。我现在就投反对票并闭嘴。
【解决方案4】:

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

【讨论】:

  • 你能发布一个如何通过 ajax 将数据发送到服务器 php 文件的示例吗?"
猜你喜欢
  • 2010-12-03
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 2022-09-29
  • 1970-01-01
相关资源
最近更新 更多