1)データベース
2)php
3)css
4)htmlフォーム
ユーザーは、背景などのいくつかのプロパティを入力します。たとえば、htmlフォームに赤を入力してdbに保存すると、phpはdbから背景cssの色オプションをロードします...次に、cssプロパティにphp変数を配置するにはどうすればよいですか。 。
また、一部のホスティングでは.htaccessにハンドラーを追加できませんが、他のオプションはありますか?
はい、可能です。
content-type を設定することで、php で css ファイルを提供できます。
<?php header('content-type: text/css; charset=utf-8'); ?>
php ファイルから css を出力します。
フォームを使用して mySQL またはその他のテーブルに値を格納し、後で mySQLi またはその他のライブラリを使用してそれらを取得できます。
これは、php スクリプトの例です。
<?
header('content-type: text/css; charset=utf-8');
$bgColor = "#FFF"; // Get it from database, I'm setting manually for this example
?>
body{
background-color:<?php echo "$bgColor" ?>;
}
または、ページにインライン css を出力することもできます。タグに直接挿入するか、要素をインライン化します。
なんらかの理由でネイティブ css ファイルが本当に必要な場合 (思いつきません)、php の fwrite() 関数を使用して特定の css ファイルを技術的に上書きできますが、この方法はお勧めしません。
<?php
$filename = "phpstyle.css";
$fp = fopen($filename, 'w');
$bgcolor = "#FFF";
$css = "body{";
$css .= "background-color:".$bgcolor.";";
$css .= "}";
fwrite($fp, $css);
fclose($fp);
?>
はい、phpスクリプトを介してcssを提供できます。
1つの方法は、phpを介してスタイル要素を出力することです。
<?php
#css on php file
$color = '#FFFFFF';
?>
<html>
<head>
<title>Css through php</title>
<style>
.test{
text-color: <?php echo $color; ?>
}
</style>
</head>
<body>
<p class="test">Your body </p>
</body>
</html>
もう1つの方法は、phpファイルで動的にcssを生成し、それをhtmlページにリンクすることです。
<?php
#css on php file [test_css.php]
header("Content-type: text/css");
$color = '#FFFFFF';
?>
.test{
text-color: <?php echo $color; ?>
}
<html>
<!-- test.html -->
<head>
<title>Css through php</title>
<link rel="stylesheet" type="text/css" href="test_css.php">
</head>
<body>
<p class="test">Your body </p>
</body>
</html>
それだけではない理由:
<?php if (myCondition) { ?>
<style>.myClass {
background: <?php echo $myColor; ?> !important;
} </style>
<?php } ?>
myCondition は in body スタイルの挿入をトリガーします。!important タグは、そのプロパティの他のすべての既存の値を上書きします。
理解しやすく、使いやすい。毎回動作します。
Khaleel の回答に加えて、HTML ドキュメント自体に CSS を配置できます。
<style>
...
</style>
セクション。PHP 変数を使用して、これを埋めることができます。
または、HTML でインライン スタイルを使用できます。
<span style="...">...</span>
次のように、動的に php を使用して css ファイルを作成します。
<link href="../styles/styles.php" type="text/css" />
または php を使用して、html ファイルにインラインで css を記述します。
<html>
<head>
<style type="text/css">
body {
background-color: <?php echo $redcolor; ?>;
}
</style>
</head>
<body></body>
</html>
ただし、標準の css ファイルを php で作成することはできません。