Include() ou rien ?

Résolu/Fermé
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 30 déc. 2007 à 16:54
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 31 déc. 2007 à 14:34
Bonjour,

Je construit actuellement un site internet pour mon père, celui-ci veux pouvoir inclure sur certaine page des morceaux. Le plus facile pour nous deux (pour ne pas qu'il fasse appel à moi pour modifier ou autres oppération du diable qui me ferais reprendre mon code, il fabrique sa petite page avec différentes choses (texte imge, etc...), et il cale sa petite page sur le serveur (avec forcément le même nom au même endroit, etc...).

J'utilise donc une fonction include('la_petite_page_de_mon_pere.php') pour afficher son travail dans la page, et là, du coup, s'il n'y pas de la_petite_page_de_mon_pere.php, et ben il y a une erreur : function include() pas trouvé la page quoi.

Donc je viens vous demander si il y a un moyen, tout simplement, pour ne pas prendre en compte la fonction include() si la page ciblée n'est pas (genre : include(...) or die, ou une co***ie comme ça -> or die j'ai essayé^^).

Et par la même occasion, comment puis-je faire pour afficher correctement les accents de sa page^^, sinon tanpis.

Merci à tous.

9 réponses

Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
30 déc. 2007 à 20:00
Salut Flohti,

Normalement le include provoque un avertissement "Warning" tandis que le require provoque une erreur "Error". Mais le message apparait dans tous les cas c'est vrai, sauf en configurant le serveur (mais ça c'est autre chose).

Bref, je te conseille plutôt cette méthode :

Regarde l'existance du fichier avant de l'inclure. En PHP tu feras ça à l'aide de la fonction file_exists (http://www.manuelphp.com/php/function.file-exists.php
Ainsi en cas de présence du fichier (la méthode renverra true) tu feras l'include, sinon rien.

Le try n'est pas une fonction. C'est un bloc dit "d'essai". Toutes les instructions se trouvant dans le bloc try ne déclencheront pas d'erreur à l'utilisateur parce qu'elles devront obligatoirement être traitées dans un autre bloc "catch". Ca a donc pour effet de sauter vers le bloc catch (attrapeur d'erreurs) contenant le type d'exception à gérer. Dans le cas où un include échoue je ne sais pas quel genre d'exception ça lance (je ne sais déjà pas si c'est possible) donc je ne te conseillerai pas sur cette méthode... De plus elle n'est disponible que depuis PHP5 (c'est à dire depuis que PHP est devenu Orienté Objet).

Pour les accents il faut voir le contenu de sa page, avec quoi il la crée, sous quel format elle a été enregistrée (ISO, UTF ?)... et comparer avec ta page incluante... parce que normalement il ne devrait pas y avoir de problèmes, sinon ce serait bien si son éditeur de pages web était configuré pour transformer les caractères accentués en entités HTML... ça c'est universel et quel que soit le codage de la page, des caractères et de la déclaration HTML ça doit s'afficher correctement. Les entités HTML commencent par le caractère & et se terminent par le caractère ; Entre deux il y a un code pour chaque caractère (eacute pour un é par exemple).
1
Utilisateur anonyme
30 déc. 2007 à 17:58
Bonjour

include() s'il trouve pas l'include affiche le reste de al page (contrairement au require() qui s'il ne trouve pas la page affiche pas le reste)
0
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
30 déc. 2007 à 18:01
oui, effectivement, mais on a dans tout les cas un message d'erreur qui dit que le fichier n'a pas été trouvé, et ça, ça me dérange.
0
Utilisateur anonyme
30 déc. 2007 à 18:12
il faudrai regarder si en PHP il y'a la fonction try()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
30 déc. 2007 à 19:21
Bien, je te remercie tout d'abord pour ta réponse à mon post,

Ensuite, il faut tout de même savoir que je suis nouveau en php, c'est en effet le premier site que je fais. Aussi même si je cherche à le faire proprement je ne connaît pas tout (loin de là^^).

Donc je ne connaît pas non plus de fonction try(), dans le sens où je ne connaîs pas, et non où ça n'existe pas^^.
D'où connaîtrais-tu try() ? (quel language?)

Si d'autres personnes en savent plus, n'hésitez pas, il y a un ignorant ici^^. Merci
0
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
30 déc. 2007 à 19:24
Dis-moi si je me trompe, il faudrait essayer un truc du genre :

try (include ('la_petite_page_de_mon_pere.php')); ??
0
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
30 déc. 2007 à 19:25
Bonn ben il faut que je m'en va^^. Je verais les réponses demain. bonne nuit
0
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
31 déc. 2007 à 08:52
Salut Posataz, je te remercie pour ta réponse, qui devrait beaucoup m'aider.

Pour les accents, mon père fait sa petite page avec Word (et oui^^), il veut en effet inclure du wordart pour faire des flash sans trop s'embêter. Nous avons remarqué que word était capable de faire du html^^(word 2007 je crois), tout juste capable en vrai puisque ce n'est pas très joli^^ (alors il passe à word 97 pour voir si ce n'est pas plus compatible car je n'ai pas le même rendu entre MF, IE et Safari).

Donc il ne changera sûrement pas de lui-même le type ISO ou UTF^^, et il ne sais pas non plus si il peut faire transformer ses accents en codes, donc on va faire un petit test et voir si ça se fait.

Je te remercie grandement pour la fonction file_exists, je vois ça, mais d'après ce que je comprends, cela devrait largement faire mon bonheur^^.
0
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
31 déc. 2007 à 14:34
if (file_exists('la_petite_page_de_mon_pere.php')) { include ('la_petite_page_de_mon_pere.php') } else {}

c'est impécable merci beaucoup.

A plus
0