loulou Posté 7 Juillet 2005 Posté 7 Juillet 2005 Bonjour, Je me pose une question concernant les droits sur les fichiers et répetoires : J'ai un repertoire : "donnees" qui comporte lui-même 3 répertoires, qui eux contiennent des fichiers textes. Chaque jour je publie ce répertoire sur le web, dans une partie privée de mon site. Ensuite j'execute un script qui ouvre ce repertoire "donnees", et qui parcourt tout son contenu pour alimenter une base temporaire. Une fois la base temporaire remplie, le script alimente ma base principale. Quand c'est terminé, JE supprime manuellement sur le serveur, mon répertoire "donnees", or j'aimerai automatiser cette suppression. J'ai essayé de faire un "unlink(donnees)" à la fin du script, mais j'ai un message me disant que je n'ai pas le droit. J'ai essayé de faire un "chmod(donnees,0777)", avant mon unlink, mais ça ne marche pas non plus. Savez-vous d'ou cela peut provenir ? Merci.
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 (modifié) Ptite erreur de syntaxe dans ton chmod, essaye plutot ca: chmod ("/donnees", 0777); Modifié 7 Juillet 2005 par PoM_-
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Merci PoM, en fait c'est ce que j'ai fait, mais ça ne marche pas ...
WewEB Posté 7 Juillet 2005 Posté 7 Juillet 2005 Pour effacer un dossier utilise plutôt rmdir. Le dossier à effacer doit être vide, efface donc tous les fichiers qui s'y trouvent avant (une petite boucle et des unlink).
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Merci WewEb, J'avais essayé le rmdir, mais je n'avais pas vidé mon répertoire avant. Je vais donc essayé ceci. Par contre, j'espère que les "unlink" vont fonctionner.
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 Tu es chez quel hebergeur ?? car a priori tous les hebergeurs n'acceptent pas de modifier le chmod des fichiers ( comme free par exemple ). Sinon est - ce que le chemin du repertoire indiqué est le bon ? peut etre ta page n'est pas a la racine ce qui fait que le liens n'est pas bon. Sinon l'idée a WewEb meparait etre une bonne solution GG a toi
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Bonjour, Je viens de tester la suppression de mon répertoire "donnees" en faisant ceci : if (file_exists("C:\donnees")) { $rep="C:\donnees"; chmod($rep,0777); unlink($rep); print "donnees supprimé !!!!!<br><br>"; } else {echo $rep. "n'existe pas";} Ce petit bout de code ne fonctionne pas, "access denied". En fait je teste en local. Mon serveur est dédié chez ovh Pour faire le test, j'ai vidé le repertoire "donnees" (comme si je l'avais vidé avec une boucle). Avez-vous une idée ?
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 Est ce que sur ovh, tu arrives grace au script à vider le repertoire ?
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Je n'ai pas essayé, car j'ai peur de faire des bétises,... vu que c'est notre site de vente en ligne et qu'il s'agit de notre base produits... je vais essayer de me faire un petit script a part, pour le tester...
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 (modifié) Bon voila je te l'ai fais. Il ne te reste plus qu'a faire la partie qui vide le repertoire. Je l'ai testé il marche très bien. Coordialement, PoM_- <?if (file_exists("donnees")){ $rep="donnees"; chmod($rep,0777); rmdir($rep); print "Le repertoire ".$rep." a été supprimé.<br><br>"; } else { echo "Le répertoire ".$rep." n'existe pas";}?> Modifié 7 Juillet 2005 par PoM_-
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Je te remercie pour ce bout de code, je vais le tester tout de suite sur le serveur ovh.
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 No problem Si ta besoin d'aide pour la suite chui la ! ( enfin chui la jusqu'a demain midi, apres jprend 2 semaines de vacs bien mérité )! Previens moi si ca marche sur ovh, je pense qu'il ne devrait pas y avoir de problème
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Merci pour ta disponibilité PoM, Je viens d'essayer et ça ne marche pas, Voici la réponse : Warning: chmod(): Operation not permitted in /home/site/www/admin/selection.php on line 176 Warning: rename(/home/site/www/admin/donnees/,donnees22): Permission denied in /home/compumar/www/admbtik/selection.php on line 177 /home/compumar/www/admbtik/donnees/ renomme En fait j'ai juste essayé de renommer le répertoire, pas le supprimer. Et même ça je ne peux pas le faire. Voici le petit bout de code : if (file_exists("/home/site/www/admin/donnees/")) { $rep="/home/site/www/admin/donnees/"; //unlink($rep); chmod($rep,0777); rename($rep,"donnees22"); print $rep." renomme"; //print "le rep a été supprime !!!!!<br><br>"; } else {echo $rep. "n'existe pas";} je pense que je n'ai pas les droits suffisants pour faire ce genre d'actions et je n'y connais rien en administration de serveur !
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 Permission denied Je pense que ton hebergeur n'autorise pas ce genre de script. Mais ca me parait bizare tout de meme. As-tu essayer celui qui permet de supprimer le repertoire? Si non peut tu l'essayer afin de me dire, si il veut bien le supprimer tout de meme.
Dan Posté 7 Juillet 2005 Posté 7 Juillet 2005 Pour que cela marche, il faut que l'utilisateur sous lequel tourne php ait le droit d'écriture dans le répertoire admin (niveau au dessus). Sinon, les suppressions de répertoires fonctionnent très bien chez OVH. Dan
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Et bien je viens d'essayée ton script de suppression, PoM et je ne suis pas autorisée à faire ce type d'action sur le serveur. Je ne sais pas trop comment changer mes droits car il s'agit d'une boutique oscommerce et je ne suis pas "top Administrator", mais "low administrator".
loulou Posté 7 Juillet 2005 Auteur Posté 7 Juillet 2005 Merci à tous pour vos conseils, ne n'ai réussi à faire ce que je voulais mais cela peut attendre. Bonnes vacances PoM !
PoM_- Posté 7 Juillet 2005 Posté 7 Juillet 2005 Bin je te remercie et desole que cela ne marche pas :S ! Si tu peux me send par mp l'url de ta boutique et me dire quel est ton but de faire ca avec oScommerce ! Si besoin d'aide tu as n'hésites pas PoM_-
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant