begin process at 2010 03 22 02:30:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > CLASSE CHMOD

CLASSE CHMOD


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Classé sous :chmod, chmoder, securité fichier, droits, droits repertoire Niveau :Initié Date de création :04/07/2008 Date de mise à jour :05/07/2008 11:51:38 Vu :2 549

Auteur : tex73

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

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

  • <?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());}
  • }
  • }
  • ?>
<?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);
$c hmod->setGroupmodes(true,true,true);
$chmod->setP ublicmodes(true,true,true);
setchmod($dir);
*/
// fixe les droits de $dir à 0777


 Historique

05 juillet 2008 09:27:24 :
ajout de la fonction setchmod()
05 juillet 2008 11:51:38 :
modification de la fonction setchmod() pour une verification de la nature de la cible

 Sources du même auteur

OPERATING SYSTEM DETECTION
Source avec Zip RSS_WRITER
Source avec Zip RSSREADER 2.0
Source avec Zip TESTEUR DE MOTS DE PASSE
Source avec Zip CAPTCHA WARRIOR 1.0.1: LE SYSTEME DE CAPTCHA TOTALEMENT ADMI...

 Sources de la même categorie

Source avec Zip EFFACER LES FICHIERS IMAGES ( .PNG ), D'UN RÉPERTOIRE TEMPS ... par christophe0511
COURTE ET SIMPLE FONCTION RÉCURSIVE POUR LECTURE DE RÉPERTOI... par mbdx
Source avec Zip Source avec une capture GESTIONNAIRE DE FICHIERS | MYSQL PHP 5.X {NEMENTON PHP MANA... par Nementon
Source avec Zip Source avec une capture LISTE REPERTOIRE (DIR EN PHP) par mephistope
Source avec Zip LIRE UNIQUEMENT LES X DERNIERS OCTETS D'UN FICHIER DISTANT (... par Equilibrius

 Sources en rapport avec celle ci

SQUELETTE DE GESTION DES DROITS par malalam
[PHP5]AUTHENTICATION MANAGER par guill76

Commentaires et avis

Commentaire de tex73 le 04/07/2008 23:10:27

vos commentaires et critiques sont les les bienvenus

Commentaire de kankrelune le 05/07/2008 11:31:39

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°

Commentaire de tex73 le 05/07/2008 11:44:43

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.

Commentaire de coucou747 le 05/07/2008 13:22:23

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.

Commentaire de tex73 le 05/07/2008 13:53:07

J'en prend note et vos attentes et surgestions ferront l'objet de la prochaine mise à jour

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Gros Problèmes de droits sur Image Uploadée [ par efrancilien ] Bonjour,Je viens de changer d'h&#233;bergeur et mon scripts upload qui jusqu'&#224; present a toujours bien fonctionn&#233; me cause des soucis.Enfin changer de droits avec chmod pour chaque session [ par darkvadoriste ] Bijour;voici ce que j'aimerais pouvoir faire:sur mon site il y a des sessions avec des droits differents les personnes pouvant se connecter (qui ont u Droits fichiers / chmod [ par djagger ] Salut !J'ai un petit soucis !J'ai une page web qui permet d'uploader des fichiers chez mon h&#233;bergeur ....Le probl&#232;me c'est que je n'ai pas l chmod 777 ? [ par firrss ] bonjour,je ne comprend pa ce que sa veut dire.des fois on me demande de faire un chmod 777.merci de m'aider chmoder hors ftp [ par fannymar ] Bonjour,Voici le probl&#232;me que j'ai &#224; r&#233;soudre. Lorsque je veux sauvegarder mon site certains fichiers sont "interdits" &#224; cause d'u CHMOD 777 toujours et encore [ par laurentphoto30 ] bonjour voici mon probleme concerne CHMOD 777 et oui une fois de plus j ai trouve pas mal d info sur le sujet mais rien qui se reporte au miens j ai f chmod 777 [ par spaa05 ] bonjourcomment je peux metre&nbsp;un fichier sous&nbsp;chmod 0777 V péter un plomb (pb de droits inside) [ par Mamienova ] Bonsoir a tous je suis depuis cet apres-midi sur un pu*ù$^ù*^de probleme de *ù$*^*^ù*^. Bon alors pour faire simple : je veux uploader des images sur mkdir et droits [ par elanspeech ] salut, dans ma page php, je fais la commande suivante : mkdir ("rep/", 0777); le repertoire est bien cree mais pas avec les bons droits.... j'obtiens droits sur fichiers [ par cas ] Voila ce que j'ai fait pour créer un nouveau fichier dans le réertoire chez l'hébergeur.&lt;?phpif (!$fp = fopen("toto.txt","w+")) { print "Cannot


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,402 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales