从用于检索CSS的PHP文件中获取用户的用户代理字符串
在HTML页面中,我有以下内容:从用于检索CSS的PHP文件中获取用户的用户代理字符串,php,html,css,user-agent,Php,Html,Css,User Agent,在HTML页面中,我有以下内容: <link rel='stylesheet' href='retrievedCSS.php' type='text/css' media='all' /> 在retrievedCSS.php中,我从CDN请求CSS资源,并将其返回给客户端 问题是CDN是相当“动态的”,所以如果我直接使用浏览器的地址栏执行retrievedCSS.php,我会根据它的用户代理字符串得到不同的资源 但是,在我的例子中,是服务器向CDN请求资源,而不是客户端 除了从
<link rel='stylesheet' href='retrievedCSS.php' type='text/css' media='all' />
在retrievedCSS.php
中,我从CDN请求CSS资源,并将其返回给客户端
问题是CDN是相当“动态的”,所以如果我直接使用浏览器的地址栏执行retrievedCSS.php
,我会根据它的用户代理
字符串得到不同的资源
但是,在我的例子中,是服务器向CDN请求资源,而不是客户端
除了从HTML页面将其作为参数添加(
retrievedCSS.php?ua=myUserAgent
)之外,还有其他方法可以获取加载retrievedCSS.php
中HTML页面的用户的用户代理字符串吗?您可以使用变量$\u SERVER['HTTP\u user\u agent']访问用户代理字符串当您访问网页时,浏览器正在向请求HTTP头添加用户代理。由于CSS文件只是通过HTTP请求的另一个资源,您应该能够通过以下方式访问PHP文件中的头文件:
$_SERVER['HTTP_USER_AGENT']
你可以读到它
编辑:这甚至适用于动态CSS文件,因为浏览器正在向所有HTTP请求添加头。函数。但是它需要。我想当直接从地址栏调用文件时我可以这样做,我错了吗?我想当直接从地址栏调用文件时我可以这样做,还是我错了?编辑后的注释:好的,我试试:-)也应该在CSS文件中工作。如果您愿意,您可以打开Web检查器(Chrome、Safari或Firefox),重新加载页面,您应该会在CSS文件的请求中看到标题。没有真正的CSS文件:它是从远程服务器生成的文本。PHP检索此文本并将其作为text/css返回到“root”HTML。我知道,但仍然添加了标题,正如您在请求SO的示例中所看到的: