我想在PHP中打包一个css文件...因此,我为css文件编写了头文件,并为其添加了php扩展,因此... css.php。问题是,如果该页面已被用作包含...或者这个新标题是否与包含在该页面中的框架冲突?包括:css文件扩展名为php?
回答
gnarf钉了它。
我做的:
<link rel="stylesheet" type="text/css" media="screen" href="<? echo TMPL ?>css/name-of-file.css.php">
,然后在.css.php文件的顶部:
<?
header('Content-Type: text/css');
// print out your php-driven css...
?>
如果includer脚本不发送任何输出,它将起作用,否则您将有一个“标题已发送”错误。
在includer中使用ob_start()可以避免这种情况,并使所有的工作。
html框架与php包含无关,所以在这种情况下根本没有冲突。
如果您有一个名为css.php
的文件,请确保第一行设置正确的内容类型标题。如果还没有,您可能还想将会话设置内容(如果有的话)拆分为bootstrap.php
。从DATABSE加载一些样式信息的一个简单的例子:
<?php
header("Content-Type: text/css");
include('bootstrap.php');
// fetch some information to print out our styles
$result = mysql_query("SELECT * FROM site_styles");
while ($row = mysql_fetch_assoc($result)) {
echo $row["selector"]." {\n".$row["css"]."\n}\n";
}
?>
从其他PHP文件,只输出标签包括css.php,你不希望使用PHP include()
功能此任务!
<link rel="stylesheet" type="text/css" href="css.php"/>
虽然因为大多数浏览器会缓存您的css文件很积极,你可能会发现,动态改变该文件的内容并没有做太多好。你可以强制通过添加GET参数到链接的href的更新:
<link rel="stylesheet" type="text/css" href="css.php?<?php echo $cssversion ?>"/>
虽然这是怎么回事,每次完全刷新你的CSS文件中的参数变化。出于这个原因,通常更好的做法是提供静态css文件。如果你有一些需要从配置参数等加载的样式,这些样式不会经常改变,那么第一个例子应该对你很好。
糟透了,看到你的回答有鲨鱼。 – emc 2013-04-15 17:38:26
HTML文件:
<link rel="stylesheet" type="text/css" href="css.php"/>
css.php文件:
<?php
header("Content-type: text/css; charset=utf-8");
//your php + css code goes here
?>
如果在你的CSS.php文件第一行代码是不是header("Content-type: text/css; charset=utf-8");
它不会工作
- 1. PHP包含文件扩展名?
- 2. 分割.txt文件包括扩展名为.txt
- 3. 批量重命名文件扩展名,包括子目录
- 4. 的Apache + PHP没有“.PHP”文件扩展名,但包括路径信息
- 5. SQLite:.db文件扩展名.sqlite文件扩展名为
- 6. 重写规则不工作时,文件扩展名包括
- 7. Gradle:Jar任务不包括具有未知扩展名的文件
- 8. 错误包括但.h扩展名
- 9. 文件扩展名为
- 10. PHP - 识别附件文件扩展名
- 11. 文件不包含c扩展名
- 12. C包含文件扩展名
- 13. 文件扩展名
- 14. 文件扩展名
- 15. 重命名文件扩展名为.txt
- 16. 包括或扩展(UML java)
- 17. .txt PHP文件上传文件扩展名为?
- 18. Scandir:检查具有相同名称的文件(不包括扩展名)
- 19. 用php找到文件的扩展名
- 20. PHP,获取文件名没有扩展
- 21. PHP检查文件扩展名
- 22. PHP条未知的文件扩展名
- 23. PHP更改文件扩展名
- 24. 将.do扩展名用作所有php文件的.php扩展名
- 25. PHP包括文件
- 26. PHP包括文件
- 27. PHP“包括”文件
- 28. PHP的CSS包括
- 29. 扩展到包括jQuery脚本中的当前文档名称
- 30. PHP包含文件扩展名最佳做法
我可能会要求您要使用这个'什么css.php'文件来服务?某种形式的数据库生成或什么? – gnarf 2009-09-19 01:00:07
你能显示一些代码吗?至于情况是什么,我有点失落。 – strager 2009-09-19 01:07:29