Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从用于检索CSS的PHP文件中获取用户的用户代理字符串_Php_Html_Css_User Agent - Fatal编程技术网

从用于检索CSS的PHP文件中获取用户的用户代理字符串

从用于检索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请求资源,而不是客户端 除了从

在HTML页面中,我有以下内容:

<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的示例中所看到的: