Şunlardır: php dosya uzantısı ile css?

4 Cevap php

Ben php bir css dosyası sarmak istiyorum ... Yani css dosyası için başlık yazmak ve ... böylece, o css.php bir php uzantısı verin. Soru bu çalışma sayfa zaten include an ... ya da çerçeve ile bu yeni başlık çatışma sayfa dahil ediliyor gibi kullanılıyor olacak eğer??

4 Cevap

Gnarf çivilenmiş.

I do:

<link rel="stylesheet" type="text/css" media="screen" href="<? echo TMPL ?>css/name-of-file.css.php">

ve sonra css.php dosyasının üstüne de.:

<?
header('Content-Type: text/css');
// print out your php-driven css...
?>

Eğer adında bir dosya varsa, css.php sadece ilk satırları uygun bir içerik türü başlığını ayarlamak emin olun. Ayrıca zaten değil varsa bir bootstrap.php içine (eğer varsa) sizin oturum kurulum eşyalarını bölmek isteyebilirsiniz. Bir databse bazı stil bilgi yükleme hızlı bir örnek:

<?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";
  }
?>

Diğer php dosyasından, etiket css.php dahil sadece çıktı, sen do not php bu görev için include() function kullanmak istiyorum!

<link rel="stylesheet" type="text/css" href="css.php"/>

Çoğu tarayıcı oldukça agresif css dosyayı önbelleğe çünkü, dinamik bu dosyanın içeriğini değiştirmek olduğunu bulabilirsiniz rağmen çok iyi yapmaz. Bunu gibi bağlantının href bir Get parametresini ekleyerek güncellemek için bu güç olabilir:

<link rel="stylesheet" type="text/css" href="css.php?<?php echo $cssversion ?>"/>

Bu tamamen değişiklikleri parametre her zaman sizin css dosyasını yeniden gidiyor rağmen. Genellikle bu nedenle statik css dosyaları sunmak için daha iyi bir uygulamadır. Eğer çok sık değişiklik yok yapılandırma parametreleri, vb yüklenmesi gereken bazı stilleri varsa, ilk örnek oldukça iyi sizin için çalışması gerekir.

HTML file:
<link rel="stylesheet" type="text/css" href="css.php"/>

css.php file:
<?php
header("Content-type: text/css; charset=utf-8");
//your php + css code goes here
?>

Lütfen CSS.php dosyasındaki kod İLK hat değilse
header("Content-type: text/css; charset=utf-8"); it will not work

Bu eserler includer komut aksi takdirde bir "Headers already sent" hata var olacak, herhangi bir çıktı göndermek yok eğer.

includer in ob_start () kullanarak bu önlemek ve her iş için bir hile olabilir.

Html çerçeveler yerine php ile ilgisi içerir, bu nedenle bu durumda hiç çatışma.