script: fermer les balises php
Bonjour,
Dans un fichier .php j'ai écrit de nombreuses fois :
J'ai un problème, à cause d'un include, l'une de ces balises reste ouverte :
<?php
include "fichier.php";
?>
Le fichier.php étant :
Il manque donc à mettre à la suite de ça :
Dans le fichier.php il m'est impossible de rajouter ces 2 caractères manquant pour fermer la balise car il résulte de variables...et c'est compliqué ^^
Comment faire donc dans mon fichier contenant l'include pour refermer la balise ouverte ? se referme t-elle toute seule, cas particulier aux includes ? quels dangers si je la laisse ouverte ?
Merci d'avance
http://raphlight.free.fr/trad.php
(désolé pour le double-post)
ou alors...peut être plus simple, je met "?>" quand même dans mon fichier.php et je l'efface en fonction de mes variables pour le rajouter...
J'explique, dans ce cas-là ca donnerait :
1) j'ouvre le fichier (fopen)
2) là j'efface les 2 derniers caractères du fichier qui sont "?>"
3) Je ré-écris par dessus en rajoutant à la fin le "?>" (fwrite)
4) je referme le fichier (fclose)
Comme ça le "?>" et toujours présent et ca fonctionne avec mon code "compliqué" :)
Mais comment effacer les 2 derniers caractères d'un fichier uniquement ?
http://raphlight.free.fr/trad.php
Pourquoi c'est compliqué d'écrire un ?> à la fin du fichier ?
Sinon, tu peux faire un substr pour effacer les deux derniers caractères. Après, tout dépend de ta méthode de lecture du fichier (tout prendre dans une variable ou prendre morceau par morceau).
Mon fichier.php change très souvent, du fait de variables placées à l'intérieur et également de formulaires qui ajoutent du texte à la fin de ce fichier...
Je ne comprends pas les méthodes de substr...j'ai beau chercher sur le manuel php officiel ou autres sites je ne comprend pas comment le faire fonctionner avec mon fichier.php
Par exemple, si mon fichier.php contient :
je fais
<?php
//ouvre le fichier + preleve le texte contenu à l'interieur
$valiid = fopen("propook.php","r+");
$donnees = fgets($valiid,33333);
//on vire le ?\> de fermeture.
// 1. on remplace les données
$donnees2 = str_replace('?>','',$donnees);
// 2. on ajoute au formulaire
fwrite($valiid,"$donnees2" ,strlen("$donnees2"));
// 3. on referme
fclose($valiid);
?>
Avec ce code...normalement le "?>" devrait disparaître, non?
http://raphlight.free.fr/trad.php
euh...je me suis embrouillé là...
Le code du post au dessus marchera surement pas ^^
Enfin, faut faire comme si j'avais mis une ouverture en w+ avant de "virer le ?" ;)
Et c'était une question oratoire, ca marche bel et bien ^^ Je n'ai plus qu'a continuer comme ca :P
Arf...c'est souvent la même chose, je post sur le forum mais au final je trouve tout seul un intermédiaire...
Enfin tout seul...avec l'aide de La Globule qui me donne des pistes :D
http://raphlight.free.fr/trad.php
$donnees = fgets($valiid,33333);
Comment etre sur que tu choppes tout bien ?
Moi je ferais un
file_get_contents, et un
substr sur le résultat (voir mieux une regex qui bute le dernier ?> du fichier).
euh j'ai toujours pas compris le substr mais le 33333 c'est à guise d'exemple, c'est juste pour tester ;)
Euh...par contre ca concerne toujours mon problème mais ca n'est plus trop le même sujet...
un include php dans un fichier php n'est pas possible?
Enfin je veux dire, si une page index.php contient :
<?php
include "youp.php";
?>
et le fichier youp.php contient :
Alors cela me donne :
Parse error: syntax error, unexpected '<' in /mnt/109/sdb/8/1/dossier/youp.php on line 1
...pourquoi? Comment faire autremenent ?
http://raphlight.free.fr/trad.php
*sachant que le fichier youp.php doit être inclu, impossible de mettre directement le //code dans index.php :S
http://raphlight.free.fr/trad.php
Ben si un include, ca fonctionne.
Tu as du faire de la merde.
Genre le youp.php ne contient pas un <?php
Oùlà...en effet j'avais mis deux fois ?>
Ok...le problème était stupide ><
Bon ben ce sujet n'a plus lieu d'être, le mal est réparé...
Merci ^^
(scusez' du retard de la réponse)
http://raphlight.free.fr/trad.php
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: