2009-10-18 7 views
0

J'ai une page avec une image. Je veux que le client soit capable de télécharger une nouvelle image dans la base de données et ensuite être en mesure de changer l'image à partir du CMS. Une fois qu'ils l'ont changé dans le CMS, je veux que PHP édite l'image de fond dans le fichier css externe.Comment modifier un fichier css externe avec PHP?

Est-il possible de faire cela? Je sais comment PHP peut changer une balise d'image dans le balisage HTML, mais j'aimerais pouvoir éditer le fichier css externe pour garder mon code plus propre.

+0

Je viens de trouver cette solution. Est-ce que cela ressemble à ce que j'essaie de faire? http://blog.blazed-designs.com/2009/06/19/using-php-as-css-and-javascript/ – zeckdude

Répondre

3

Si vous utilisez Apache, vous pouvez également intégrer le code PHP dans vos fichiers CSS, en ajoutant ceci à votre conf apache:

AddHandler application/x-httpd-php .css 
+0

Est-ce cela que vous voulez dire? http://net.tutsplus.com/tutorials/php/supercharge-your-css-with-php-under-the-hood/ – zeckdude

0

Vous pouvez utiliser le file access functions changer de façon permanente ou, probablement plus facile , faites le fichier CSS lui-même un script PHP et mettez la logique là pour décider comment le CSS doit être créé. Assurez-vous de définir les règles de mise en cache de façon appropriée pour le fichier CSS.

0

Ajout à la réponse de Ben et Sydius qui génère le fichier CSS dynamique.

Que diriez-vous d'avoir un CSS PHP séparé qui remplace le courant que vous avez?

Vous pouvez également le manipuler pour éviter le cache persistant de l'ancienne image en manipulant l'URI du CSS.

<link rel="stylesheet" href="path/to/sitelevel.css"> 
<link rel="stylesheet" href="path/to/background-switcher.css.php?cache-buster123"> 
Questions connexes