Aller au contenu

Fichier, es tu là ?


Sujets conseillés

Posté (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é par francoisch
Posté

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.

Posté

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

Posté

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

Posté

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.

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...