Problèmes avec include

Résolu
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014 - 14 avril 2008 à 17:59
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014 - 14 avril 2008 à 19:12
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

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
14 avril 2008 à 19:09
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...
3
Axe971 Messages postés 75 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 9 janvier 2009 2
14 avril 2008 à 18:26
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,
0
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014
14 avril 2008 à 18:27
Salut Axe971, je vais essayer et je te dis.

Merci bien,

MJ92
0
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014
14 avril 2008 à 19:12
Hum ouais je n'y ai pas pensé...
Merci Neige

MJ92
0