mkdir permission denied !

Répondre
seb
le 03/12/2003 à 09:30
seb
Salut tt le monde !

Bon, un petit souci avec mkdir et les droits d'écriture....
J'ai écrit un script tt con pour créer des repertoires sur un serveur de fichiers (lecteur réseau) :

if(!is_dir($repertoire))
$ok = mkdir($repertoire,0666);
après je déplace un fichier de mon serveur web local vers le serveur de fichiers:
if(!file_exists($chemin.$fichier) && $ok ){
//on copie le fichier vers le repertoire distant
if(copy($chemin_old.$fichier, $chemin.$fichier) ){
//si la copie réussit,on l'efface du repertoire local
unlink($chemin_old.$fichier);
}
}

Lorque je testais via easyPHP en local, no problemo : je créais les rep qui n'existaient pas , je déplaçais le fichier et tutti quanti.

MAIS: depuis le serveur web , j'obtiens cette insulte :
Warning: mkdir(Q:/Exploitation): Permission denied in D:\Apache_Group\www\mes_fonctions.php3

je me doute qu'il y a un problème de droits, mais je peux accèder au lecteur réseau depuis le serveur sur lequel est installé Apache...
J'ai lu qq part qu'il fallait donner les droits au script qui appelle le mkdir, ou au serveur web, est ce que cela dit qq chose à quelqu'un ?
passke là, je rame !

merci d'avance !
++
seb
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
seb
le 03/12/2003 à 11:50
seb
hé bien, je vois ce que tu veux dire , mais comment je fais ? un chmod ?
et si oui, je le fais sur quel repertoire ? la racine du serveur de fichiers ?
et pis le truc que je pige pas, c'est que ça fonctionnait très bien avec mon apache en local...
sinon j'ai essayer en créant le rep avec :
if(!is_dir($repertoire))
$ok = mkdir($repertoire,0777);

mais ça, ça change rien ! :(
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
seb
le 03/12/2003 à 11:56
seb
heu oui, désolé de ne pas l'avoir précisé .
En fait , je construit dynamiquement une arborescence de repertoires :
foreach($hierarchie as $tmp)
{
$query2 = "SELECT titre from spip_rubriques where id_rubrique=".$tmp;
$result2 = spip_query($query2);
$row2 = spip_fetch_array($result2);
$chemin[$i] = $row2['titre'];
//on vérifie l'existence des répertoires et on les crée le cas échéant
$repertoire = $racine.join("/",$chemin);
if(!is_dir($repertoire))
$ok = mkdir($repertoire,0666);
$i++;
}
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
LA GLOBULE
le 03/12/2003 à 12:12
LA GLOBULE
$racine, ca vaut quoi ?

Et t'as pas un exemple pour des valeurs de variables ?
seb
le 03/12/2003 à 12:17
seb
ok,ok...
$racine vaut Q:/ (la racine de mon serveur de fichiers)
les trucs spip , c'est juste les tables de la BDD du CMS SPIP (www.spip.net)
rien de bien grave....
$chemin peut valoir par ex: exploitation/documentation/
mon fichier : processus.pdf
qui est sur mon serveur web dans le repertoire
www/docs/pdf/processus.pdf

le but est de déplacer de manière transparente les fichiers vers:
Q:/exploitation/documentation/processus.pdf

le principe fonctionne depuis mon serveur EasyPHP (je me répète, je sais).
ça coince depuis le serveur web de prod....
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
seb
le 03/12/2003 à 12:18
seb
pardon,
les spip_query et spip_fecth_array sont identiques au mysql_query et mysql_fetch_array : elles ont juste été personnalisé par les concepteurs de SPIP.....
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
seb
le 03/12/2003 à 12:25
seb
hé , La Globule, désolé, mais je dois y aller pour cause d'inondations dans mon coin (Montpellier)..
Je vous retrouve demain (si tout va bien) avec maybe une solution ! :)

++
seb
fonKySeB from Hyperion <br>::Si quelque chose peut mal tourner, alors ça tournera mal::
Répondre
LoadingChargement en cours