Je voudrais envelopper un fichier css en php ... Alors j'écris l'entête du fichier css et lui donne une extension php, donc ... css.php. La question est de savoir si la page est déjà utilisée en tant qu'inclure ... ou est-ce que ce nouvel en-tête se heurtera au cadre dans lequel la page est incluse?Inclure: css avec l'extension de fichier php?
Répondre
gnarf l'a cloué.
je fais:
<link rel="stylesheet" type="text/css" media="screen" href="<? echo TMPL ?>css/name-of-file.css.php">
puis en haut de votre fichier .css.php:
<?
header('Content-Type: text/css');
// print out your php-driven css...
?>
Vous pouvez également utiliser 'header (" Type de contenu: text/css; jeu de caractères: UTF-8 ");' – Omar
Est-ce que cela fonctionne avec les anciens navigateurs comme IE7 et 8? –
Assurez-vous que l'en-tête est imprimé tout en haut du fichier. Si vous avez (comme je l'ai fait) une ligne vide en haut, ça ne marchera peut-être pas quelque part! – MilanG
Cela fonctionnera si le script incluser n'envoie aucune sortie, sinon vous aurez une erreur "Headers already sent". L'utilisation de ob_start() dans le Includeer peut être une astuce pour éviter cela et avoir tout pour fonctionner.
Les trames Html n'ont rien à voir avec PHP à la place, donc pas de conflit du tout dans ce cas.
Si vous avez un fichier appelé css.php
, assurez-vous simplement que les premières lignes définissent l'en-tête de type de contenu approprié. Vous pouvez également diviser le contenu de votre session (s'il y en a) en bootstrap.php
si ce n'est déjà fait. Un exemple rapide de charger quelques informations de style d'un 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";
}
?>
De l'autre fichier php, juste sortie la balise pour inclure la css.php, vous ne veulent utiliser la fonction php include()
pour cette tâche!
<link rel="stylesheet" type="text/css" href="css.php"/>
Bien que depuis la plupart des navigateurs cache votre fichier css assez agressive, vous trouverez peut-être que le changement dynamiquement le contenu de ce fichier ne fait pas beaucoup de bien. Vous pouvez forcer que la mise à jour en ajoutant un paramètre get à l'href du lien comme ceci:
<link rel="stylesheet" type="text/css" href="css.php?<?php echo $cssversion ?>"/>
Bien que cela va recharger complètement votre fichier css chaque fois que les changements de paramètres. Il est généralement préférable de diffuser des fichiers CSS statiques pour cette raison. Si vous avez des styles qui doivent être chargés à partir de paramètres de configuration, etc., qui ne changent pas très souvent, le premier exemple devrait fonctionner pour vous.
suce pour voir que votre réponse a été requinqué. – emc
fichier HTML:
<link rel="stylesheet" type="text/css" href="css.php"/>
fichier css.php :
<?php
header("Content-type: text/css; charset=utf-8");
//your php + css code goes here
?>
Si votre Première ligne de code dans votre fichier CSS.php n'est pas header("Content-type: text/css; charset=utf-8");
il ne fonctionnera pas
- 1. Comment "inclure" un fichier?
- 2. Comment inclure des fichiers avec HTTPS - PHP
- 3. Comment modifier un fichier css externe avec PHP?
- 4. Saisir le nom de domaine avec inclure en PHP
- 5. PHP: "Global" Inclure
- 6. HTML Inclure fichier
- 7. Comment inclure le fichier PHP dans les pages SHTML?
- 8. problème avec le fichier css
- 9. PHP inclure en utilisant ajax
- 10. PHP inclure des fonctions de classe avec des variables
- 11. HTML Inclure le fichier
- 12. Style de fichier d'entrée Safari avec CSS?
- 13. Problème de sortie PHP & CSS
- 14. php inclure, tous les chemins se foirent
- 15. PHP: Inclure uniquement les fichiers lors de l'exécution de phing?
- 16. Chargement du fichier externe avec css intact?
- 17. PHP CSS Selector Library?
- 18. php comprennent: ms mot généré fichier html et ordures css
- 19. comment utiliser gzip pour un fichier css/js en PHP?
- 20. Inclure le fichier de vue dans le même espace de noms dans PHP 5.3.0
- 21. problème d'exécution de fichier php avec javascript
- 22. Inclure plusieurs répertoires dans le script PHP
- 23. PHP simplexml_load_string inclure des données de champ de formulaire
- 24. Inclure le fichier SVG en SVG
- 25. Inclure un site d'exemple dans php et le rendre interactif
- 26. Comment inclure un fichier zip dans NSBundle?
- 27. inclure le fichier .as à l'intérieur .fla
- 28. Comment inclure le fichier wxi dans wxs?
- 29. Inclure le contenu d'un fichier dans JSP
- 30. Tables HTML avec beaucoup de CSS
Puis-je demander ce que vous voulez utiliser ce ' css.php' fichier à servir? Une sorte de styles qui sont générés par la base de données ou quelque chose? – gnarf
Pouvez-vous montrer du code? Je suis un peu perdu quant à la situation. – strager