Page 1 sur 1

include ou include_once ?

Posté : 23 avr. 2007, 12:30
par dunbar
Salut,

Quelle est le meilleur moyen d'inclure un fichier
Avec include ou include_once
Si je ne me trompe pas include_once n'inclue que si cela est utile ???
Et une autre question comment faire pour n'inclure qu'un fichier qui est sur le serveur et pas un autre ???

D'avance merci

Posté : 23 avr. 2007, 12:57
par Sékiltoyai
include inclue un fichier, include_once l'inclue s'il n'est pas déjà inclu.
La pertinance de l'une ou de l'autre dépend de ta code...

Posté : 23 avr. 2007, 14:01
par dunbar
include inclue un fichier, include_once l'inclue s'il n'est pas déjà inclu.
La pertinance de l'une ou de l'autre dépend de ta code...
Merci
Et une autre question comment faire pour n'inclure qu'un fichier qui est sur le serveur et pas un autre ???

Posté : 23 avr. 2007, 15:57
par Ryle
Fonctionnellement, cela revient effectivement au même, mais selon moi, il n'y a pas de pertinence à utiliser include_once(), c'est seulement pour cacher une mauvaise conception :)

En gros, cela revient à obliger php à faire un traitement supplémentaire (et assez lourd ceci dit) pour s'assurer qu'il n'a pas déjà inclu le fichier au préalable afin de savoir s'il doit l'inclure ou non. Pour moi, cela veut dire que le développeur est incapable de savoir s'il a déjà ou non inclu le fichier dans son traitement (un peu comme le "@" qui dans la majorité des cas ne sert qu'à cacher les erreurs qu'il n'a pas su corriger).

Quant à ta dernière question, elle m'échappe un peu.. tu inclus le fichier que tu passes en paramètre et pas un autre, c'est à toi de dire qu'il se trouve sur le serveur :) ... ceci dit, si le chemin du fichier est un paramètre utilisateur, tu peux commencer celui-ci par "./" pour avoir un chemin relatif à partir du dossier en cours, et forcer l'utilisation d'un fichier local :)

Posté : 23 avr. 2007, 20:53
par Sékiltoyai
De toute facon, un fichier qui est sur un autre serveur ne peut être inclu que par protocole ftp (si on essaye de l'inclure par http, on inclue le résultat de l'éxécution de ce fichier...)