Web 開発の領域を探索すると、データベースに保存されているデータに基づいて CSS コンテンツを動的に生成する必要に遭遇する場合があります。この質問は、作成者がこの目標を達成するために CSS 内に PHP コードを組み込もうとするシナリオから生じています。
作成者は、そのアプローチを示すコード スニペットを提供しています。
<code class="html"><link href="css/<? echo $theme; ?>/styles.css" rel="stylesheet" type="text/css" /> body { background-image:url(../../images/<?php echo $theme.'/'.$background; ?>);}</code>
ただし、content-type ヘッダーを使用する最初の試みは失敗に終わり、目的の CSS ではなく HTML コードが出力されました。
この問題を解決するには、ファイル拡張子を .php に変更することが解決策となります。これにより、サーバーが PHP コードを認識して実行できるようになります。 CSS ファイルは次のようになります:
<code class="php"><? header("Content-type: text/css"); ?> body { background-image:url(../../images/<?php echo $theme.'/'.$background; ?>);}</code>
さらに、回答で提案されているように、PHP ショートタグを利用することでコードをわずかに簡素化できます:
<code class="php"><? header("Content-type: text/css"); ?> body { background-image:url(../../images/<?= $theme.'/'.$background; ?>);}</code>
この PHP ファイルにリンクすることで通常の CSS ファイルであるかのように、Web サーバーは PHP コードを処理し、データベースから取得したデータに基づいて CSS コンテンツを動的に生成します。
以上がPHP を CSS 内で実行して動的スタイルを生成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。