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_basedir
2. 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
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev




--
Laurent Destailleur.
---------------------------------------------------------------
EMail: [EMAIL PROTECTED]
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



_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à