Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2011, 20h40   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 171
Points : 69
Points : 69
Par défaut Accès aux fichiers inclus.

Bonjour,

Je suis face à un petit problème, j'ai l'arborescence de fichiers suivante :

Code :
1
2
3
4
5
6
7
8
9
/
|_fichier1.php
|_répertoire1
|   |_fichier2.php
|_répertoire2
|   |_fichier3.php
|_répertoire3
    |_fichier4.php
Mon fichier 1 inclue : répertoire1/fichier2.php
Mon fichier 3 inclue : ../répertoire1/fichier2.php
Mon fichier 2 inclue : ../répertoire3/fichier4.php

Quand j'ouvre mon fichier fichier3.php, ça fonctionne !
Par contre, quand j'ouvre mon fichier 1, j'ai le message :
Warning: include_once(../repertoire3/fichier4.php) [function.include-once]: failed to open stream

J'ai l'impression que la résolution du chemin est effectuée à partir de mes fichiers 1 et 3 et non pas à partir du fichier 2, comme j'aurai pensé...
donc
- à partir du fichier 3, ça marche car il est au même niveau d'arborescence que le fichier 2
- à partir du fichier 1, ça ne marche pas car il est 1 niveau au dessus du fichier2

Comment puis je gérer ça? Quelle est la meilleure façon de faire? (je peux faire tous mes include dans les classes 1 et 3 par exemple?)
legentil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 20h54   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
fait de l’absolu
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 21h22   #3
Membre du Club
 
Inscription : novembre 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 171
Points : 69
Points : 69
Merci pour cette réponse rapide !
J'avais pensé à faire de l'absolu, mais ça m'apportait un "faux" problème...

Car là aussi, je ne sais pas faire propre.
Pour l'instant je travaille sous easyphp, je vais donc saisir :
Code :
include ("http://127.0.0.1/monsite/chemin/monfichier.php");
Comment faire pour que cette adresse puisse être changée facilement lors de la mise sur le serveur en :
Code :
include ("http://www.monAdresse.fr/chemin/monfichier.php");
J'avais pensé à une propriété ou une variable globale, mais dans un cas ou l'autre,il me faudra à un moment y accéder en chemin relatif et je vais tomber sur le même problème !

Une idée sur la bonne façon de faire?

A+
legentil est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 22/08/2011, 21h24   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
pour mettre l'adresse web ? c'est un chemin local qu'il faut mettre
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 22h13   #5
Membre du Club
 
Inscription : novembre 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 171
Points : 69
Points : 69
Merci pour tes réponses, je pense que je me suis dépatouillé avec :

include($_SERVER["DOCUMENT_ROOT"]."/repertoire/fichier.php");

Merci encore !
legentil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h51.


 
 
 
 
Partenaires

Hébergement Web