Classe chmod

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 057 fois - Téléchargée 19 fois

Contenu du snippet

cette classe peut vous etre d'une tres grande utilité lors de l'upload de vos fichiers, ou des envetuelle mise à jour de votre site; dans la mesure où elle vous permettra d'attribuer automatiquement des droits utilisateurs à vos fichiers et repertoires.
tres simple d'utilisation

Source / Exemple :


<?php
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///                                                                     ///
///      systeme de gestion des droits utilisateurs de fichiers         ///
///              ou des repertoires sur le serveur                      ///
///               Les remarques sont les bienvenues                     ///
///                                                                     ///
/// Developpé par Alfred Timagni T.   SITEWEB http://www.bbsecurit.com  ///
///       copyright 2007-2008 Tchalftechnology, Inc                     ///
///                                                                     ///
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
class Chmod
{
  /*notre repertoire[de la forme (/NOM_DE_REPERTOIRE/) ou (/NOM_DE_REPERTOIRE/NOM_DE_FICHIER.EXT)]à chmoder.

  • /
private $dir; //initialisation des droits private $modes = array('owner' => 0 , 'group' => 0 , 'public' => 0); //fonction definissant les droits du proprietaire du fichier ou du repertoire public function setOwnermodes($read,$write,$execute) { $this->modes['owner'] = $this->setMode($read,$write,$execute); } //definition de droits du groupe utilisateur public function setGroupmodes($read,$write,$execute) { $this->modes['group'] = $this->setMode($read,$write,$execute); } // definition des droits des visiteurs(publique) public function setPublicmodes($read,$write,$execute) { $this->modes['public'] = $this->setMode($read,$write,$execute); } public function getMode() { return 0 . $this->modes['owner'] . $this->modes['group'] . $this->modes['public']; } private function setMode($r,$w,$e) { $mode = 0; if($r) $mode+=4; if($w) $mode+=2; if($e) $mode+=1; return $mode; } public function setChmod($target) { if(!is_file($target) && !is_dir($target)){ return false; }else{ return chmod($target , $this->getMode());} } } ?>

Conclusion :


EXEMPLE D'UTILISATION DE CETTE CLASSE
/*
$chmod = new Chmod;
$chmod->setOwnermodes(true,true,true);
$chmod->setGroupmodes(true,true,true);
$chmod->setPublicmodes(true,true,true);
setchmod($dir);
  • /

// fixe les droits de $dir à 0777

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
15 mai 2012

merci
Messages postés
74
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
3 février 2014

J'en prend note et vos attentes et surgestions ferront l'objet de la prochaine mise à jour
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
salut

a mon avis, tu devrais integrer ca a une classe Fichier ou autre.

sinon, ton chmod est incomplet, et ne gere pas les erreurs.
Messages postés
74
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
3 février 2014

merci pour ton post kankrelune.
mais il faut dire que cette classe à vu le jour parce que la question revient tres souvent sur le forum. alors avec ceci les internautes pourront avoir des solutions toutes faites.
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Salut

C'est pas mal par contre dans ta méthode setchmod() tu ne vérfie pas que le fichier/dossier cible existe... la méthode chmod() n'existe pas dans ta classe... pour moi le second paramètre de cette méthode n'a pas lieu d'être...

public function setChmod($target)
{
if(!is_file($target) && !is_dir($target))
return false;

return chmod($target , $this->getMode());
}

Je trouve que faire de l'objet pour gérer les chmod c'est un peu beaucoup, coder en procédural à aussi ses avantages notamment en terme de perf, tu charge ton appli pour pas grand chose... ou alors il faudrait faire une classe de gestion de fichier/répertoire qui entre autre peut gérer le chmod... .. .

A part ça rien à redire... .. .

@ tchaOo°
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.