|
From: | Laurent Destailleur (Eldy) |
Subject: | Re: [Dolibarr-dev] Le bug de vianney - solution : create_exdir |
Date: | Fri, 06 Jan 2006 15:46:37 +0100 |
User-agent: | Mozilla Thunderbird 1.0.5 (Windows/20050711) |
Gael Canal wrote:
Je me répond à moi même, et je vous propose un patch Le jeudi 05 janvier 2006 à 16:08 +0100, Gael Canal a écrit :Ce qui semble bizarre, c'est que l'appel !file_exists() dans la boucle ne semble pas avoir d'effet puisque mkdir est appelé successivement avec /var, /var/www etc...If you use open_basedir in php.ini and use file_exists for file outside open_basedir path, you will not be warned at log and file_exists returns false even if file really exists. ceci explique cela.
Merci pour cette analyse. J'ai fait une correction différente que celle proposée. La voici.J'ai laissé la fonction tel quelle, c'est-à-dire création des différents niveaux de rep de manière récursives. Par contre le code retour renvoyé se base uniquement sur l'existence ou création du dernier répertoire. En effet, si le dernier niveau est ok, tout est ok et si non, y a pb. Le code retour ne dépend donc plus des niveaux
intermédiaires qui dépendent de open_basedir.
Il y a donc un bug dans la fonction create_exdir.confirmé :-) Je pense que la stratégie à appliquer serait soit (au choix)A/ 1. de vérifier la valeur de open_basedir2. d'en déduire la "racine" des tests (en n'oubliant pas qu'il peut y avoir plusieurs open_basedir séparés par des ';') 3. de n'effectuer les création qu'en dessous de cette racine.B/ 1. de n'incrémenter le comteur d'erreur QUE pour la dernière tentative(création du répertoire ultime) - simple et efficace. ++ Gael _______________________________________________ Dolibarr-dev mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
-- Laurent Destailleur. --------------------------------------------------------------- EMail: address@hidden Web: http://www.destailleur.fr IM: IRC=Eldy, Jabber=Eldy AWStats (Author) : http://awstats.sourceforge.net Dolibarr (Contributor) : http//www.dolibarr.com CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net AWBot (Author) : http://awbot.sourceforge.net
[Prev in Thread] | Current Thread | [Next in Thread] |