à partir du moment ou c'est sur le même serveur est ce bien dangereux de faire une inclusion en absolue ?
Si les fichiers sont sur le même serveur, il y a vraiment aucun intérêt à inclure un fichier avec une URL, donc aucun intérêt à activer allow_url_fopen.
Puis ce n'est pas une question de chemin absolu, c'est surtout inclure un fichier de manière distant en utilisant une URL, le protocole HTTP.
A mon sens tu ne visualise pas bien ce que fait un include().
C'est très simple : ça récupère l'intégralité du contenu/code (peu importe son contenu : HTML, Php, les 2, etc ...) et ça le place à l'endroit même où ce trouve la ligne de code include().
En définitive, ça revient strictement au même que de supprimer le include et faire un copier/coller du contenu à l'endroit où on souhaite le placer.
En pratique, admettons que j'ai un fichier index.php dans le (www), donc à la racine du site Web :
1 2 3 4
|
$ecrivain = 'toto';
echo $ecrivain; |
Ca va afficher : toto.
Maintenant, je crée un fichier toto.php toujours dans le www avec comme code :
$ecrivain = $salut.'toto';
J'inclus cette fois toto.php dans index.php en modifiant le code ainsi :
1 2 3 4 5 6
|
$salut = 'Salut ';
include('toto.php');
echo $ecrivain; |
Ceci affichera : Salut toto
Pour finir, je supprime le include ce trouvant dans le index.php, je le remplace par son contenu :
1 2 3 4 5 6
|
$salut = 'Salut ';
$ecrivain = $salut.'toto';
echo $ecrivain; |
Ca affichera la même chose que précédemment : Salut toto
Je ne sais pas si ce petit exemple te permettra de conclure ce qu'il y a à conclure, mais il a 2 choses :
1/ Faire un include revient au même que de mettre le code.
Faut vraiment imaginer comme si tout le code du toto.php ce trouvait à l'endroit même où ce trouve le include().
2/ Il est nullement utile de "passer" un paramètre à un include vu que ça veut dire que le couple nom/valeur du paramètre doit être connu avant d'inclure.
En somme, ça fait doublon, ce n'est pas logique de vouloir le faire.
Dans cet exemple, le fichier toto.php inclus, exploite une variable $salut.
Cette variable doit exister sinon le code va planter.
Pour que le code ne plante pas, suffit donc de la créer juste avant le include().
Sinon, il faut gérer le cas.
Mais vois tu mieux comment fonctionne le include et pourquoi vouloir "passer" un paramètre n'est pas utile ?
Partager