Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1465 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  du php dans un fichier css

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

du php dans un fichier css

n°949300
Moof2
Posté le 08-01-2005 à 19:21:38  profilanswer
 

Bonjour,
 
Je souhaite savoir comment faire pour que le serveur interprète le php situé dans un fichier css.
 
Par exemple :
 
j'ai une page index.html qui contient un ligne pointant vers une feuille de style de la manière suivante :
<link REL="StyleSheet" TYPE="text/css" HREF="style.css">
dans cette page style.css je veux écrire un script php. Ca marche po...
 
Du coup je renomme style.css en style.php et j'écris dans index.html la ligne :  
<link REL="StyleSheet" TYPE="text/css" HREF="style.php">
mais ça marche tjs pas... comme si le navigateur n'allait pas chercher style.php
 
Voila..
 
Merci !

mood
Publicité
Posté le 08-01-2005 à 19:21:38  profilanswer
 

n°949307
Ryoh
Posté le 08-01-2005 à 19:47:26  profilanswer
 

bah c'est peut-etre parce que c'est logique, on peut pas faire de php dans un css, si?

n°949320
naceroth
Posté le 08-01-2005 à 21:00:12  profilanswer
 

Ryoh a écrit :

bah c'est peut-etre parce que c'est logique, on peut pas faire de php dans un css, si?


 
Je crois que son but n'est pas de faire du php dans un fichier css (ce qui n'est pas impossible d'ailleurs) mais d'utiliser un fichier php pour générer des css dynamiques...
 
@Moof2 :
 
La deuxième solution est la bonne pourtant, n'oublies pas de préciser le content-type adéquat dans ton fichier style.php pour que celui çi soit bien pris pour une css :)

n°949321
cerel
Posté le 08-01-2005 à 21:01:14  profilanswer
 

Si on peut, mais il faut respecter quelques regles.
 
D'abord ton fichier doit finir en ".php" afin que le serveur sache qu'il doit le traiter en tant que fichier php.
Ensuite il faut que dans ton fichier style.php tu dise au navigateur que ce que tu va lui envoyer correspond a ce qu'il attends, c'est a dire a du css.  
Pour cela tu dois changer le type mime via la fonction header.
 
Donc ton fichier style.php pourrait ressembler a ca :

Code :
  1. <?php
  2. header('Content-type: text/css');
  3. ...
  4. ?>
  5. body { ...
  6. }


n°949358
Moof2
Posté le 08-01-2005 à 22:36:30  profilanswer
 

Oui !!
Merci beaucoup, c'est exactement ce que je cherchais, tout fonctionne bien à présent !

n°949417
Berceker U​nited
PSN : berceker_united
Posté le 09-01-2005 à 16:31:46  profilanswer
 

l'extention css n'est qu'un convention tu peux mettre .toto ou .php ça fonctionnera quand même.
J'utilise cette technique pour cacher du code javascript  
<script src="js.php?xxxx=xxxx"/>

n°949486
cerel
Posté le 09-01-2005 à 18:00:26  profilanswer
 

berceker united a écrit :

l'extention css n'est qu'un convention tu peux mettre .toto ou .php ça fonctionnera quand même.
J'utilise cette technique pour cacher du code javascript  
<script src="js.php?xxxx=xxxx"/>


 
Attention, pour qu'un fichier soit interprete par php il faut qu'il puisse etre identifie.
Pour cela la pluspart du temps on utilise l'extension ".php".
Si tu veux tu peux la changer en ce que tu veux, mais tu devras alors reconfigurer ton serveur web pour lui indiquer que les fichier ".trucmuche" doivent etre traites avec php.
 
Ce que tu dis est d'ailleurs faux. Pour que le "texte" qui est renvoye par ton script php soit interprete comme du css tu dois respecter le "mime" ou le "content type". Le browser attends du "text/css", si tu lui envoi qqch d'autre alors ca ne marchera pas. C'est d'ailleurs le probleme qu'avait Moof2 au debut.
 
Si ca marche dans ton cas dans le cadre de ton JS c'est soit parce que tu as modifie le header, soit parceque le type par default est accepte par le browser pour du JS. Le JS doit normalement etre du "text/javascript"...
 
Sinon concernant ton commentaire sur le fait de "cacher" ton script JavaScript, sache que si le browser peut lire le fichier, alors il ne peut pas etre cache.
D'ailleurs dans ton exemple il suffit de metre "js.php?xxxx=xxxx" dans la barre d'adresses (en respectant le path) et n'importe qui pourra lire ton fichier js ...


Message édité par cerel le 09-01-2005 à 18:04:55
n°949496
Berceker U​nited
PSN : berceker_united
Posté le 09-01-2005 à 18:15:07  profilanswer
 

Cerel a écrit :

Attention, pour qu'un fichier soit interprete par php il faut qu'il puisse etre identifie.
Pour cela la pluspart du temps on utilise l'extension ".php".
Si tu veux tu peux la changer en ce que tu veux, mais tu devras alors reconfigurer ton serveur web pour lui indiquer que les fichier ".trucmuche" doivent etre traites avec php.
 
Ce que tu dis est d'ailleurs faux. Pour que le "texte" qui est renvoye par ton script php soit interprete comme du css tu dois respecter le "mime" ou le "content type". Le browser attends du "text/css", si tu lui envoi qqch d'autre alors ca ne marchera pas. C'est d'ailleurs le probleme qu'avait Moof2 au debut.
 
Si ca marche dans ton cas dans le cadre de ton JS c'est soit parce que tu as modifie le header, soit parceque le type par default est accepte par le browser pour du JS. Le JS doit normalement etre du "text/javascript"...
Non sans placer de type MIME le navigateur l'interprete quand même. JS ou CSS. Fait le teste tu verras que ça marche mais peut etre pas sur les autre navigateur telle que OPERA NETSCAPE et autre j'ai pas testé.
 
Sinon concernant ton commentaire sur le fait de "cacher" ton script JavaScript, sache que si le browser peut lire le fichier, alors il ne peut pas etre cache.
D'ailleurs dans ton exemple il suffit de metre "js.php?xxxx=xxxx" dans la barre d'adresses (en respectant le path) et n'importe qui pourra lire ton fichier js ...
Non ;) je sais que c'est possible de lire en récupérant le chemin entierement mais le parametre est suptile puisqu'il sagit du time()
javascript.php?synchro=time() Dans le fichier php il y a un time() aussi  je fais la comparaison entre ce qu'il y a dans le paramètre et le celui dans le fichier en y accordant un tolérance de quelques second à cause du temps de chargement. Pour que quelqu'un puisse lire le fichier il faut qu'il connaisse le time au moment ou il voudra l'executer. Il va peut être réussire mais avec du temps ou bien un script mais j'ai rajouter une equiation donc a lui de la trouver. De plus dans le header j'ai fais de telle sorte qu'il puisse pas ce mettre dans le cache par contre c'est pas garantie a 100%.



Message édité par Berceker United le 09-01-2005 à 18:16:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  du php dans un fichier css

 

Sujets relatifs
Lire un fichier XMLRemplir une hastable à partir d'un fichier
[C#] Odbc, fichier binairePbs de flux dans un fichier
Pbs structure en liste chainée et manip de fichier[FONT] Format Fichier PCF
Fonction pour extraire nom d'un fichierEnlever des lignes dans un fichier
Impossible de mettre un identifiant de fichier dans une variable !SQL - pb de Bulk Insert depuis un fichier txt
Plus de sujets relatifs à : du php dans un fichier css


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR