begin process at 2012 02 15 05:06:02
  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 :3 344

Auteur : tex73

Ecrire un message privé
Site perso
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);
$chm od->setGroupmodes(true,true,true);
$chmod->setPubl icmodes(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 RSSREADER 2.0
VÉRIFIER SI VOS PARTENAIRES ONT GARDÉ VOS LIENS SUR LEUR SIT...
UPLOAD MULTIPLE OU SIMPLE DES FICHIERS
Source avec Zip DATE COMPLETE EN FRANÇAIS

 Sources de la même categorie

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151
TROUVER LES DOUBLONS DANS UNE LISTE DE FICHIERS par soobook

 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 administrateur CS

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

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,310 sec (4)

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