Je ne veux pas lancer de troll, mais la gestion des utilisateurs et des droits est un peu pourrie sous windows... Si tu travailles en administrateur sur ta machine, et que le daemon apache est lancé en administrateur, tu peux créer des répertoires à peu près n'importe où sur ta machine.
Chez ton hébergeur, c'est différent, puisqu'il est sous linux.
Normalement, l'utilisateur qui lance le daemon apache, c'est l'utilisateur apache, du groupe apache. Peu importe le nom de l'utilisateur et/ou du groupe, ce qui compte, c'est que le daemon ne soit pas lancé en tant que root.
Tout ça pour dire que si ton script fonctionne en local mais ne fonctionne pas chez ton hébergeur, c'est probablement un problème de droits dans le répertoire dans lequel tu travailles.
L'utilisateur d'apache semble avoir le droit de créer des fichiers et/ou répertoires dans youyou/, mais conserve-t-il ces droits dans youyou/répertoire ?
Si tu as un accès console à la machine de l'hébergeur, tu pouras le constater avec un "ls -ld youyou" dans un premier temps, et un "ls -ld youyou/" ensuite.
Sinon, il se peut aussi que les chemins utilisés pour la création des fichiers et/ou répertoires soit mal interprétés. J'ai pour habitude de remplacer :
$fichier=fopen('youyou/'.$repertoire.'/toutou.php','x+');
par
$fichier=fopen(getcwd().'/youyou/'.$repertoire.'/toutou.php','x+');
La fonction getcwd récupére le répertoire de travail courant, cf. http://fr.php.net/manual/fr/function.getcwd.php
Voilà, en espérant que ces quelques lignes te seront utiles.
# Problème de droits ?
Posté par Gyro Gearllose . En réponse au message compatibilités sur les fonctions de gestion de fichier en php. Évalué à 4.
Chez ton hébergeur, c'est différent, puisqu'il est sous linux.
Normalement, l'utilisateur qui lance le daemon apache, c'est l'utilisateur apache, du groupe apache. Peu importe le nom de l'utilisateur et/ou du groupe, ce qui compte, c'est que le daemon ne soit pas lancé en tant que root.
Tout ça pour dire que si ton script fonctionne en local mais ne fonctionne pas chez ton hébergeur, c'est probablement un problème de droits dans le répertoire dans lequel tu travailles.
L'utilisateur d'apache semble avoir le droit de créer des fichiers et/ou répertoires dans youyou/, mais conserve-t-il ces droits dans youyou/répertoire ?
Si tu as un accès console à la machine de l'hébergeur, tu pouras le constater avec un "ls -ld youyou" dans un premier temps, et un "ls -ld youyou/" ensuite.
Sinon, il se peut aussi que les chemins utilisés pour la création des fichiers et/ou répertoires soit mal interprétés. J'ai pour habitude de remplacer :
$fichier=fopen('youyou/'.$repertoire.'/toutou.php','x+');
par
$fichier=fopen(getcwd().'/youyou/'.$repertoire.'/toutou.php','x+');
La fonction getcwd récupére le répertoire de travail courant, cf.
http://fr.php.net/manual/fr/function.getcwd.php
Voilà, en espérant que ces quelques lignes te seront utiles.