francoisch Posté 16 Février 2011 Posté 16 Février 2011 (modifié) Je fais appel à une fonction technique (mimeDecode) présente dans mon hébergement mutualisé, quand elle ne fait pas défaut. Je cherche à tester si le fichier est bien présent pour pouvoir émettre un message d’information s’il ne l’est pas. J’ai essayé file_exists() mais il retourne False même quand le module est là, peut-être à cause du safe_mode, mais il est à off: if(file_exists("tructruc.php")) {include("tructruc.php");}else {include ("aaa.php"); exit;} J’ai essayé l’opérateur de contrôle d’erreur @ avec : if(@require_once("tructruc.php"))…..else (include ("aaa.php"); exit;) mais le Else n’est pas exécuté. Merci par avance de votre aide. Francois Modifié 16 Février 2011 par francoisch
captain_torche Posté 16 Février 2011 Posté 16 Février 2011 Es-tu sûr que le chemin vers le fichier est correct ?
jcaron Posté 17 Février 2011 Posté 17 Février 2011 Oui, n'oublie pas que include va chercher le fichier dans tous les répértoires du include_path, alors que file_exists ne cherche que dans le répertoire courant si tu ne donnes pas un chemin absolu. Jacques.
francoisch Posté 17 Février 2011 Auteur Posté 17 Février 2011 Oui, le fichier est présent; pour mes essais, je le renomme simplement dans le Require pour faire apparaître l'erreur. Oui, en cherchant, j'avais vu qu'il est question de chemin absolu, d'include_path, sans bien comprendre. Y a t il un moyen d'utiliser file_exists() en spécifiant le chemin absolu? Si Oui, comment trouver le chemin absolu vers le module mimeDecode.php chez mon hébergeur? Le include_path est à .:/usr/local/lib/php Merci de votre aide. Francois
francoisch Posté 18 Février 2011 Auteur Posté 18 Février 2011 J'ai essayé plusieurs solutions: if(is_file("Mail/mimeDecode.php"))if(file_exists($_SERVER{'DOCUMENT_ROOT'}."Mail/mimeDecode.php")) sans succès jusqu'ici. Francois
jcaron Posté 18 Février 2011 Posté 18 Février 2011 Puisque le include_path est .:/usr/local/bin/php, ça veut dire que include cherche le fichier dans . (le répertoire courant) et /usr/local/lib/php. Il ne te reste donc plus qu'à tester si /usr/local/lib/php/mimeDecode.php existe... Jacques.
francoisch Posté 18 Février 2011 Auteur Posté 18 Février 2011 Jacques J'ai fait /usr/local/lib/php/Mail/mimeDecode.php et ça semble effectivement fonctionner. J'étais en train de faire un essai avec fopen(), pas concluant. C'était important pour moi de tester la présence de ce module pour pouvoir être averti quand il ne l'est plus, ça arrive, et que mes gentils utilisateurs ne peuvent plus lire leurs mails. Auparavant, je m'en apercevais par hasard. Merci encore de ton aide précieuse. Francois
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant