Bonjour,
Je chipote depuis un moment maintenant avec l'idée plutôt pratique du WEBROOT..
Seulement,je viens de me rendre compte d'un problème..
mes pages sont contenues dans ma db, et, pour incruster une image au milieu du texte,
je dois procéder de cette manière <img src="<?php echo WEBROOT;>lien/vers/image.png" />
ce qui marche très bien du moment ou le code est "en brut" sur la page..
quand je l'importe de la db, il n'interprète pas les balises php..
je ne doute pas de la sureté de ce système, mais, dans le cas présent, ca me pose un souci...
J'ai cherché un et trouvé la fonction "eval" que tous les forums s'empressent de bannir vu les failles que cela amène au niveau sécurité..
Qui aurais une idée de comment régler ca?
(Je ne peux pas faire autrement que de laisser les balises php dans la db parce que, le WEBROOT n'est pas le meme si le site est en local ( '/monsite/' ) ou si il est en ligne ( '/' )
Merci d'avance :)
iFabe
Oublie ton idée redemander d'évaluer du code sortie de la base c'est un peu lourd. Pourquoi ne pas mettre une chaine de caractère à la place de la racine
mon super text
<img src="WEBROOTimages/monImage.png" />
<p> Encore un texte... </p>
Puis de faire un
str_replace('WEBROOT',WEBROOT,$toncontenu)
Nop, en fait, je te montre..
j'ai, dans une page, des images entre des textes,
Je me suis fait une petite condition qui donne
if($_SERVER'HTTP_HOST'] != "localhost"){ define("WEBROOT", "/"); }
else{
preg_match('/\/(^\/]+)/i' , $_SERVER'REDIRECT_URL'] , $matches);
define("WEBROOT", "/$matches[1]/");
}
Comme ça, je récupère juste ce qu'il me faut avec le preg_match,
donc, mon WEBROOT a comme valeur " /monSite/ " en local, et online, par contre, c'est " / "
Jusque la, tout va bien
dans ma db, sur certaines pages qui contiennent des images, j'ai donc (en exemple)
<p> mon super text</p>
<img src="<?php echo WEBROOT;?>images/monImage.png" />
<p> Encore un texte... </p>
Code qui fonctionne tres bien, du moment ou il n'est pas dans ma db mais, directement sur la page:
MAIS, quand je fais ma $req que je j' echo $data'contenuPage']; j'ai, :
mon super text
<img src="<?php echo WEBROOT;?>images/monImage.png" />
<p> Encore un texte... </p>
Sans aucune interprétation du php et j'aimerai forcément qu'il me sorte un
<img src="/images/monImage.png" />
ou
<img src="/monSite/images/monImage.png" />
selon qu'il soit en local ou en ligne...
Si tu as une idée, je suis preneur :)
Merci DevAddict :)