2017-09-24 94 views
0

我试图用我的CSS,但服务器返回的PHP代码中的PHP作为是<style>p{background: url(<?php echo hello;?>)};</style>PHP在CSS不起作用

我在用浏览器控制台内嵌样式见url(<?php echo hello;?>)。不要紧,我把text/css头放在代码里面,用引号或者双引号来表示php部分。

但是这种风格在另一台服务器上正常工作。也许有任何设置,不允许使用PHP这种方式?

+1

你要添加此代码? – FluffyKitten

+1

这将扩展名为'.php'文件扩展名为 –

回答

3

看来问题在于你正在尝试将php代码放到.css文件中,而您的服务器未配置为从此文件类型运行php。

如果你使用Apache,你可以尝试将此行添加到您的.htaccess文件(在根目录中创建一个,如果你没有的话)

AddType application/x-httpd-php .css 

但是请注意,这个动作可能会导致一些安全问题。

+1

。它也会降低服务器速度,因为它现在会在所有css文件中查找php代码。我更喜欢的解决方案是其他方式 - 我会将CSS粘贴到一个PHP文件中。 – enhzflep

+1

是的,这是真的,但问题是关于在css文件中运行php。显然你可以使用.php文件来提供动态CSS,但这是另一个问题。确实是 – Codeartist

+0

。如果OP不知道这一点,我只是觉得值得一提。由于文件看起来差不多一样,这是一个低成本的决定,可能会带来昂贵的后果。 – enhzflep

0

如果你给你的CSS文件一个.php扩展名(例如style.php),你可以在其中包含PHP代码。您可能还需要在头发送CSS MIME类型,例如:

header('Content-Type: text/css'); 
0

我认为你正在做的一个语法错误的东西走错了路。

$hello= "'img/example.jpg'"; 
<style>p{background: url(<?php echo $hello;?>)};</style> 

您在这里缺少了引号。