【发布时间】:2012-02-01 23:52:21
【问题描述】:
我正在尝试从基于 PHP $_SERVER['HTTP_HOST'] 生成的动态文件名的目录中加载 CSS 文件。查询 $_SERVER['HTTP_HOST'] 的想法并匹配到客户端 ID。该 ID 用于 CSS 文件名,即 html 头部中的“1.css”或“5.css”,具体取决于客户端 ID。
此方法似乎在 Safari 和 Firefox 中有效,但只是在我的 Mac 上的 google chrome 中加载“.css”。
由于 PHP 是服务器端,我只能假设它是 $_SERVER['HTTP_HOST'],它没有通过 Chrome 获取。
两个问题。为什么?而且 - 由于这是一个严重的问题 - 我有哪些替代方法来动态编写 .css 文件名?
谢谢!
// Set client ID for session
$id_client_sql = "SELECT id FROM client WHERE url='".$_SERVER['HTTP_HOST']."'";
$id_client_res = mysqli_query($dbConnect, $id_client_sql) or die(mysqli_error($dbConnect));
$client = mysqli_fetch_array($id_client_res);
$id_client = $client['id_client'];
然后-
$display_block .= '<link rel="stylesheet" href="'.$id_client.'.css">'; //etc...
【问题讨论】:
-
请发布您正在使用的代码。我想不出任何原因 HTTP_HOST 不会被填充。
-
@Michael 除非出于某种奇怪的原因,HTTP/1.0 客户端...
-
您的选择可能有问题,而不是 HTTP_HOST。
-
@Tom
var_dump($_SERVER['HTTP_HOST']);在 Chrome 下显示什么? -
请转义查询中直接使用的每一条外国数据——包括
$_SERVER['HTTP_HOST']。当原始$_SERVER['HTTP_HOST']变量不起作用时,你能显示它的值吗?
标签: php google-chrome