Aller au contenu

Faire un chmod dans un script PHP


loulou

Sujets conseillés

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.

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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é par PoM_-
Lien vers le commentaire
Partager sur d’autres sites

No problem :) Si ta besoin d'aide pour la suite chui la :P ! ( 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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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".

Lien vers le commentaire
Partager sur d’autres sites

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_-

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...