Je deviens dingue avec fopen !
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie de générer des feuilles de style dynamiquement avec fopen.
Je récupère les variable depuis l'url, et je les envoie dans la classe Styles qui doit normalement créer ma feuille style.temp.css.
J'ai ainsi une variable $fontfamily qui est bien reconnue puisque echo $fontfamily m'affiche bien une valeur.
Par ailleurs, si je fais :
pas de problème, ça m'enregistre bien "ok" dans ma feuille.
Si je fais
Mais si je fais
Quelqu'un a une idée d'où ça peut venir?
Je trouve ça complètement irrationnel et ça me rend folle!!
Merci d'avance pour votre aide !
J'essaie de générer des feuilles de style dynamiquement avec fopen.
Je récupère les variable depuis l'url, et je les envoie dans la classe Styles qui doit normalement créer ma feuille style.temp.css.
J'ai ainsi une variable $fontfamily qui est bien reconnue puisque echo $fontfamily m'affiche bien une valeur.
Par ailleurs, si je fais :
$feuille = "ok"; if (@mkdir ("CSS/")) {} $ouverture = fopen("CSS/style.temp.css", "w"); fwrite($ouverture, $feuille); fclose($ouverture);
pas de problème, ça m'enregistre bien "ok" dans ma feuille.
Si je fais
if ($fontfamily !='') {echo "ok";}, là aussi, ça fonctionne nickel.
Mais si je fais
if ($fontfamily !='') { $feuille ="font-family: $fontfamily"; } f (@mkdir ("CSS/")) {} $ouverture = fopen("CSS/style.temp.css", "w"); fwrite($ouverture, $feuille); fclose($ouverture);, là, rien à faire, ça ne m'enregistre rien, pas même "font-family : "...
Quelqu'un a une idée d'où ça peut venir?
Je trouve ça complètement irrationnel et ça me rend folle!!
Merci d'avance pour votre aide !
A voir également:
- Je deviens dingue avec fopen !
- Un vendredi Dingue Dingue Dingue :) ✓ - Forum Musique / Radio / Clip
- Deviens un hacker pro en 1 seconde ✓ - Forum Jeux vidéo
- Fopen() ✓ - Forum C
- Fopen ✓ - Forum PHP
- Je deviens fou! - Forum Samsung
4 réponses
petit souci avec les quotes ?
Essaie
if ($fontfamily !='') { $feuille ="font-family: '$fontfamily'"; }
ou
if ($fontfamily !='') { $feuille ="font-family: ".$fontfamily; }
Essaie
if ($fontfamily !='') { $feuille ="font-family: '$fontfamily'"; }
ou
if ($fontfamily !='') { $feuille ="font-family: ".$fontfamily; }
Merci de ta réponse, loupix, mais non, ça ne change rien...
Ce que je ne comprends pas, c'est que les autres variables ne posent pas de problème, donc ça semble venir de la variable elle-même, mais qu'est-ce qui peut bien faire que la condition if ($fontfamily !='') est remplie ou pas remplie selon ce qu'on lui demande d'exécuter après???
Par ailleurs, il arrive de temps en temps que d'un seul coup, ça fonctionne, ça me crée bien ma feuille de style, mais dès que j'actualise la page d'envoi des infos, de nouveau, ça déconne...
Ce que je ne comprends pas, c'est que les autres variables ne posent pas de problème, donc ça semble venir de la variable elle-même, mais qu'est-ce qui peut bien faire que la condition if ($fontfamily !='') est remplie ou pas remplie selon ce qu'on lui demande d'exécuter après???
Par ailleurs, il arrive de temps en temps que d'un seul coup, ça fonctionne, ça me crée bien ma feuille de style, mais dès que j'actualise la page d'envoi des infos, de nouveau, ça déconne...
Salut salut,
C'est vrai que ça parait plutôt bizarre!
Tu peux poster le bout de code entier de ce qui ne fonctionne pas , peut être il y a t il quelque chose que nous n'avons pas vu.
C'est vrai que ça parait plutôt bizarre!
Tu peux poster le bout de code entier de ce qui ne fonctionne pas , peut être il y a t il quelque chose que nous n'avons pas vu.
c'est à dire que le code complet est très long, et je ne sais pas trop à quel endroit ça peut déconner, mais je vous met tout ce qui concerne $fontfamily.
Jusqu'ici, le code a toujours fonctionné jusque là.
A ce stade, un echo $fontfamily m'affiche bien la police recherchée.
Je crée ma feuille de style :
A l'écran, j'ai bien:
fontfamily = Unkempt ben oui ça marche ! feuille = font-family1 font-family2: Unkempt font-family3 : Unkempt; dans CSS/style.temp.css
mais dans ma feuille de style, j'ai juste :
font-family1 font-family2:
PAR CONTRE si je lui indique $fontfamily = 'arial' (ou n'importe quoi d'autre), là ça fonctionne parfaitement.
Je ne sais pas si ça va permettre d'y voir beaucoup plus clair, moi je nage en pleine 4ème dimension, là...
Traitement du formulaire $url = $_GET; $donnees = array( [...] 'fontfamily' => $url['fontfamily'], $fontgroup = $url['fontgroup'], [...] ); Je récupère les infos stockées en serialize dans la bdd pour (re)créer la feuille de style et mettre à jour la table : if ($css = Styles::getcssbase($idsite)) { $nstyle = unserialize($css); foreach ($donnees as $id => $val) { $method = 'set'.ucfirst($id); if (method_exists($nstyle, $method)) { $nstyle->$method($val); } else { echo "pb avec $id<br />";} } } else { $nstyle = new Styles ($donnees); } $nstyle -> create_file($cont, 'temp', $idsite, '');
Jusqu'ici, le code a toujours fonctionné jusque là.
public function create_file($type, $action, $site) { if ($action=='temp') { $cont = $type.".temp"; } else { $cont = $type; } $fontgroup= $this -> _fontgroup; //on récupère les polices associées au groupe de polices $fontgroup = Fontgroups::getlistfonts($fontgroup); $fontfamily= $this -> _fontfamily; // on récupère la bonne police à afficher $fontfamily = $fontgroup[$fontfamily]; }
A ce stade, un echo $fontfamily m'affiche bien la police recherchée.
Je crée ma feuille de style :
if ($type == 'style') { echo "fontfamily = $fontfamily "; if ($fontfamily != '') {echo "ben oui ça marche ! "; } $feuille .= "font-family1 "; $feuille .= "font-family2: $fontfamily "; if ($fontfamily !='') { $feuille .= "font-family3 : $fontfamily; ";} } if (@mkdir ("CSS/")) {} $ouverture = fopen("CSS/$cont.css", "w"); echo "feuille = $feuille dans CSS/$cont.css"; fwrite($ouverture, $feuille); fclose($ouverture); echo "<a href='CSS/$cont.css'>lien</a>";
A l'écran, j'ai bien:
fontfamily = Unkempt ben oui ça marche ! feuille = font-family1 font-family2: Unkempt font-family3 : Unkempt; dans CSS/style.temp.css
mais dans ma feuille de style, j'ai juste :
font-family1 font-family2:
PAR CONTRE si je lui indique $fontfamily = 'arial' (ou n'importe quoi d'autre), là ça fonctionne parfaitement.
Je ne sais pas si ça va permettre d'y voir beaucoup plus clair, moi je nage en pleine 4ème dimension, là...