8791 sujets

Développement web côté serveur, CMS

Bonjour à toutes et à tous,

J’ai un problème avec la fonction include() de PHP.

Je vous propose ce petit schéma dans un premier temps :

upload/13591-rgsubdivis.JPG

Je souhaite inclure le fichier menu.php, dans le fichier index.php.

Sachant que le dossier ADC se trouve à la racine du site.
Et que le dossier societe se trouve dans le dossier ADC.

J’ai donc tenté ce morceau de code :

<?php include('/ADC/menu.php') ?>


Mais lorsque je mets tout sur le serveur, je me prends que des insultes :

a écrit :
Warning: main() [function.main]: open_basedir restriction in effect. File(/ADC/menu.php) is not within the allowed path(s): (/mnt/132/free.fr/a/b/sebdherines) in /mnt/132/free.fr/a/b/sebdherines/ADC/societe/index.php on line 35

Warning: main(/ADC/menu.php) [function.main]: failed to open stream: Operation not permitted in /mnt/132/free.fr/a/b/sebdherines/ADC/societe/index.php on line 35

Warning: main() [function.include]: Failed opening '/ADC/menu.php' for inclusion (include_path='/mnt/132/free.fr/a/b/sebdherines/include:.:/usr/php4/lib/php') in /mnt/132/free.fr/a/b/sebdherines/ADC/societe/index.php on line 35


Quelqu’un aurait-il une idée ?

Merci par avance de votre future aide Smiley cligne
Modifié par seby2027 (20 Aug 2007 - 16:32)
Ah ! Smiley smile

C'est beaucoup mieux ! Je te remercie Smiley cligne

Mais maintenant il me reste un dernier problème d'include.

Toujours dans avec la même page d'index, je souhaite inclure une page qui se trouve dans le même dossier.

D'où :
<?php include('page_societe.php') ?>


Et réponse du serveur :
a écrit :
Warning: main(accueil.php) [function.main]: failed to open stream: No such file or directory in /mnt/132/free.fr/a/b/sebdherines/ADC/societe/page_societe.php on line 19

Warning: main() [function.include]: Failed opening 'accueil.php' for inclusion (include_path='/mnt/132/free.fr/a/b/sebdherines/include:.:/usr/php4/lib/php') in /mnt/132/free.fr/a/b/sebdherines/ADC/societe/page_societe.php on line 19


Voir le résultat :

Sachant que mon menu n'apparait pas.
Administrateur
Felipe a écrit :
Bonjour,

/truc/machin


fait probablement référence à la racine du serveur, sachant que la racine de ton site est sur pathinfo();

Qu'est-ce que je dis ... Smiley mur pas besoin du pathinfo, c'est écrit dans ton message d'erreur: "/mnt/132/free.fr/a/b/sebdherines/" (mais il faut éviter ces chemins, free peut te déménager à tout moment ...)

EDIT: la classique erreur 'Accueil.php' vs 'accueil.php' que Windows ne permet pas de détecter, seulement le logiciel de FTP? Ou acceuil (ortho)?
Modifié par Felipe (20 Aug 2007 - 16:11)
Felipe a écrit :

Qu'est-ce que je dis ... Smiley mur pas besoin du pathinfo, c'est écrit dans ton message d'erreur: "/mnt/132/free.fr/a/b/sebdherines/" (mais il faut éviter ces chemins, free peut te déménager à tout moment ...)

EDIT: la classique erreur 'Accueil.php' vs 'accueil.php' que Windows ne permet pas de détecter, seulement le logiciel de FTP? Ou acceuil (ortho)?


Au risque de passer pour un crétin, je n'ai rien compris à ce que tu viens de dire, si ce n'est que je ne devais pas utiliser la fonction pathinfo.
pathinfo donne la racine de ton site donc tu dois l'utilisé si tu veux mettre le chemin en absolu.

sinon pour ta page c'est bizarre, car elle se trouve dans le meme dossier donc cela devrai marcher. Mais verifier l'ortho exact du nom de ta page.
Mais il me reste toujours un problème (de taille en plus Smiley biggrin ), c'est que je n'arrive pas à obtenir les images qui se situent dans mon fichier menu.php.

Mais il n'y a pas de messages d'erreurs Smiley confus
les images se trouve ou ??

car ca depend de l'endroit d'ou tu les appeles et ou elle se trouve.

Si elle parte de ton fichier index.php qui se trouve dans ton dossier societe faut que tu parte de la pour les appeler suivant les fichiers inclut.
Il faut faire attention aux chemins.

si tu as par exemple :
/ADC/menu.php
/ADC/images/toto.gif
/ADC/sté/index.php

si ton menu.php a des liens du type <img src="images/toto.gif">, il faut les modifier en <img src="../images/toto.gif"> puisqu'il va tenter de creer les liens depuis index.php en éxécutant simplement le code contenu dans menu.php
Il faut différencier le chemin absolu sur le web de celui dans le système de fichier.

Sur le web (dans le cas des images) /un/repertoire est lu comme le chemin depuis la raçine du site et correspond à http://un.domaine.tld/un/repertoire.

Alors que dans le système de fichier (dans le cas d'une inclusion) /un/repertoire est lu comme le chemin depuis la raçine du système de fichier. Dans la plupart des hebergements mutualisés l'accès en est interdit pour des raisons de securité.