在html中存储外部php样式表的内容

时间:2014-05-31 22:46:02

标签: javascript php jquery html css

我有一个php文件被用作动态样式表。所以它是一个非常大的文件,由php生成的css / values。这是一个例子。

<?php
header("Content-Type: text/css");
?>
.top {
    top: <?= $topValue ?>px;
}
More css...

在一个单独的文件中,我试图从php文件中获取生成的内容并将其存储在某个地方的页面上,这样我以后可以使用javascript获取它。因此,我尝试的方法是将内容存储在隐藏输入中。像这样。

<?php
$file = file_get_contents("FILE_URL.php");
?>
<input type="hidden" name="hidden-css" value="<?= $file ?>" />

然而,当我这样做时,该值包含来自文件的原始php,并且还注释掉打开/关闭php标记。例如,它做的事情就像&#39;&lt; !? - PHP&#39;而不是&#34;&lt; ?PHP的&#34;和&#34;? - &gt;&#34;而不是&#34;?&gt;&#34;。这会弄乱页面上的常规html,并且不会在输入中正确存储值。

所以我问你,如何修复当前情况或更好地存储样式表的内容,以便我以后可以抓住它并使用javascript进行处理?

编辑:生成的css中可能还存在引号问题。我也不确定如何解决这个问题。

编辑:如果一切正常,这就是应该存储的方式。

<input type="hidden" name="hidden-css" value="
.top {
top: 54px;
}
" /> 

1 个答案:

答案 0 :(得分:1)

您不能为此目的使用file_get_contents()函数 - 它只是获取文件内容(即它不会首先在该文件上运行PHP)。

相反,正如user574632建议的那样,您必须使用include,因此您的代码应如下所示:

<input type="hidden" name="hidden-css" value="<?php include 'FILE_URL.php'; ?>" />


希望能解决您的问题。


(另一个快速说明:鉴于您的主文件是HTML而不是CSS,您可能需要在输入之后再次声明该内容标题,如下所示:

<?php header('Content-Type: text/html; charset=utf-8'); ?>