Creer un fichier css depuis un fichier php ? [Résolu/Fermé]

Signaler
Messages postés
193
Date d'inscription
jeudi 3 septembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
-
 Utilisateur anonyme -
Bonjour,

Alors voilà je vais vous expliquer ce que j'essaie de faire . . . (mais je n'ai pas encore d'idées concrète bien-sur)

L'idée serait de creer un fichier css.php qui contient le code css mais dont toutes les couleurs sont de la forme:
par exemple:
#onglet{background:<?php echo "#xxxxxx"; ?>;}

Seul soucis de la méthode que beaucoup utilise , c'est qu'il faille passer par des sessions ou cookies ,
si l'on prend comme dans cet exemple:
#onglet
{
background:<?php echo $_SESSION['onglet_background']; ?>;
}

Donc ceci existe , je suis au courant.
Ce que je voudrais faire est tout autre chose.

J'aimerai transformer un fichier nommé style_css.php avec le code suivant :
#onglet
{
background:<?php echo $_POST['onglet_background']; ?>;
}
En un fichier nommé style.css avec le code suivant :
#onglet
{
background:#xxxxxx; (ou #xxxxxx est l'interpretation du $_POST['onglet_background'])
}


Simplement afin de pouvoir modifier un fichier css déjà existant par l'intermédiaire d'un formulaire.

5 réponses

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
En un fichier nommé style.css avec le code suivant :

principe du php: le serveur interprète les instructions php comprises entre les tags <?php ?> dans un fichier dont l'extension est .php au chargement de la page

donc si dans ton fichier style.css tu mets du php il ne sera jamais interprété par le serveur.

Essayes en mettant ta partie CSS dans ta page .php au lieu de le mettre dans un fichier séparé.
Bonjour

À partir d'un fichier php (qu'il s'appelle style_css.php ou bidule.php) tu peux créer n'importe quel ficher texte, donc n'importe quel ficher css. Il n'y a rien de plus ni de moins à faire que pour n'importe quelle autre création de fichier.
Mais je pense que c'est une mauvaise idée.
Imagine ce qui se passe si ton fichier est en train d'être inclus dans une page d'un côté pendant qu'il est en cours de modification de l'autre. Mais s'il n'y a que toi qui fais des modifs le risque n'est peut-être pas bien élévé.
Ensuite je ne vois pas du tout l'intérêt par rapport à la première méthode (non, les cookies et les sessions ne sont vraiment pas un souci)

Tu pourrais aussi créer un zone de saisie et quand tu clike sur envoyer cela supprime l'ancienne page CSS.css et créer une nouvelle page CSS.css a partir de l zone de saisie. C qui est bien c'est que du peut afficher le code de CSS.css dans la zone de saisie et donc le modifier et non en créer u tout nouveau.

if (!isset($_POST['form'])) {
echo "<form action=\"ecriture.php\" method=\"POST\">
Nom du fichier : <input type=\"text\" name=\"filename\" value=\"exemple.txt\"><br><br>
Contenu :<br><textarea name=\"contenu\" cols=70 rows=20>Contenu du fichier</textarea><br><br>
<input type=\"hidden\" name=\"form\" value=\"1\">
<input type=\"submit\" value=\"Créer\">";
}
else {
$fichier = fopen($_POST['filename'],"w");
if (fwrite($fichier,$_POST['contenu'])) {
echo "Le fichier à été créé avec succès";
}
else {

echo "Impossible de créer le fichier";
}
fclose($fichier);
}

a modifier.
Messages postés
193
Date d'inscription
jeudi 3 septembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
6
merci pour ton aide.

J'ai trouvé une solution qui m'arrange bien et très pratique.
J'ai créé un fichier modéle a partir du CSS j'ai donc des chose qui ressemble a ca:

background:/onglet_background/;

Lors de la saisie je copie le contenu de modele.css dans style.css (qui sera écrasé si il existe) , puis je remplace les terme entre "/" par le code couleur.
Ce qui me permet de pouvoir rechercher plus rapidement dans le fichier où placer les codes couleur saisie par l'administrateur.

Peut-être que ca te sera utile !

N'oublie pas de déclarer la discussion résolu