Bonjour,
J'essaie vainement de passer ce code, mais rien y fait.Code:
1
2
3
4
5 <?php if (include("Private/Sessions_.php") == false) { die ("Erreur: Private/Sessions_.php"); } ?>
? Où est mon erreur.
Cordialement.
Version imprimable
Bonjour,
J'essaie vainement de passer ce code, mais rien y fait.Code:
1
2
3
4
5 <?php if (include("Private/Sessions_.php") == false) { die ("Erreur: Private/Sessions_.php"); } ?>
? Où est mon erreur.
Cordialement.
Bonjour,
Bien que j'aurais plutôt utilisé un file_exist pour tester l'inclusion (tu peux aussi retourner une valeur dans l'include et l'utiliser comme fonction ;) )
Pour ton cas, c pas:
A cause du test, voir manuelCode:
1
2 if ( (include 'Private/Sessions_.php') == false )
Je suis aller consulter le manuel, voici leur exemple:
Code:
1
2
3
4
5
6 <?php if ((include 'inc/db.php') !== 1) { die('Include failed.'); } ?>
La triple égalité, c'est pour tester la valeur et le type de la donnée ...
Pour l'include si dedans tu fais un return d'un string par exemple '123' et bien le test if( $val == true ) ou (1) sera Ok alors que if( $val === true ) sera Nok.
Tu essayes d'utiliser le retour false en cas de non-inclusion ou le return en fin de fichier inclus ?
Bonjour Celira,
A la base tu as le warning 'L'instruction include enverra une erreur de type warning si elle ne peut trouver le fichier;', nous sommes d'accord :)
Si tu enléves les warning, le code suivant:
me retourne le message car le fichier n'existe pas (je savais pas mais j'ai testé pour voir)Code:
1
2
3
4
5 if ((include 'lib/include1.php') !== 1) { echo('Include failed.'); }
Sinon effectivement, tu peux ajouter un return dans l'include ...
J'essaie d'utiliser le retour false en cas de non-inclusion.
Cordialement.
Salut
Il ne faut pas mettre un include dans une condition.
include (tout comme require, echo) n'est pas une fonction, mais une instruction du langage.
Donc un include n'a pas de valeur de retour.
-> Soit le fichier sera inclus, soit cela génèrera une erreur de type Warning.
Fait comme Fench l'a suggéré depuis le début : file_existe()
- SI le fichier existe ALORS on l'inclu
- SINON (rien : sous entendu on ne l'inclus pas)
Autre alternative, c'est d'exploiter un try/catch, en somme on tente d'attraper l'erreur pour la gérer soit même.
Exemple :
Code:
1
2
3
4
5
6 try { include('Private/Sessions_.php'); } catch (Exception $e) { echo $e->getMessage(); }
Bonsoir,
Pour la portabilité du code, je vous conseille très fortement de remplacer le séparateur de répertoires par DIRECTORY_SEPARATOR.
Enfin, c'est pour vous, moi je l'ai compris y a bien longtemps... :aie:
Bonjour Martin,
J'ai regardé un peu partout, ça pas l'air idéal ... le / convient pour la portabilité ... :? Bon enfin je regarderais plus aujourd'hui avec le temps.
Sinon, je suis entièrement d'accord avec toi RunCodePhp, mais je ne savais pas pour les retours dans les includes et je regardes aussi leurs utilité :D