Problèmes avec include

[Résolu]
Signaler
Messages postés
185
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
14 décembre 2014
-
Messages postés
185
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
14 décembre 2014
-
Bonjour,

Je vous fais part d'un soucis que j'ai et j'aimerai trouver une solution à ce problème. Voilà, j'ai voulu faire 2 include dans une page avec un OR car la page que je veux afficher ne fonctionne pas sur celle que je veux si elle est dans un sous-dossier :

<?php include('../mapage.php') OR include('../../mapage.php'); ?>
Evidemment, ca ne fonctionne pas, j'ai donc essayé une autre solution qui marche à partiellement :
<?php include('../mapage.php') | include('../../mapage.php'); ?>
Ca m'affiche ce que je demande, mais ca m'affiche aussi une erreur car include('../mapage.php') ne fonctionne pas ici (d'ou l'erreur) mais include('../../mapage.php') celle ci fonctionne bien.

En fait, est-il possible de faire un code avec des conditions du genre "Si include('../mapage.php') = erreur alors on affiche include('../../mapage.php')" ? Ou quelque chose de mieux ?

Merci d'avance,

MJ92

4 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

chdir ne fera pas grand chose à l'histoire.
Pour info, l'opérateur pipe | est un opérateur booléen.
101 | 100 = 101

Sinon, au lieu d'utiliser cette syntaxe dégueulasse qui consiste à mettre un or après une fonction, tu peux commencer par regarder si le fichier existe :

if (is_file ('../mapage.php')) {
  require('../mapage.php');
}
elseif(is_file('../../mapage.php')) {
  require('../../mapage.php');
}
else {
  echo 'fichier non trouvé'
}

Mais si tu ne sais pas à quel niveau de ton arborescence tu te trouves, c'est que ton script est mal foutu : tu dois pouvoir faire en sorte de t'y retrouver où que tu sois, sans avoir besoin de faire des tests farfelus comme ça à chaque fois.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
75
Date d'inscription
mardi 20 novembre 2007
Statut
Membre
Dernière intervention
9 janvier 2009
2
Salut,

Je ne sais pas si ce que tu demandes est possible, mais je te conseillerai d'utiliser les fonctions chdir et realpath pour des includes de ce genre.

Bonne chance,
Messages postés
185
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
14 décembre 2014

Salut Axe971, je vais essayer et je te dis.

Merci bien,

MJ92
Messages postés
185
Date d'inscription
lundi 23 janvier 2006
Statut
Membre
Dernière intervention
14 décembre 2014

Hum ouais je n'y ai pas pensé...
Merci Neige

MJ92