IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérifier le chmod


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Vérifier le chmod
    Bonjour à toutes et à tous...

    je galère depuis des heures sur la vérification d'une permission sur un fichier.
    L'idée est d'appliquer une permission sur un fichier et de vérifier ensuite si la permission est bien prise en compte...

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $perms = 0761;
    if ( chmod($cible, $perms) !== TRUE ) {
    	die('ERREUR sur le chmod');
    } else {
    	if ($perms != fileperms($cible)) {
    		echo 'La permission est erronée !';
    	} else {
    		echo 'OK';
    	}
    }
    ?>
    Le problème est que chmod() doit recevoir une valeur octale alors que fileperms() retourne un décimal...
    Du coup, mon second test est incorrect.
    J'ai essayé avec decoct(), octdec(), etc... mais rien n'y fait. J'arrive pas à trouver la bonne conversion.
    Comment faire ?

    Merci d'avance !
    @+

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Ceci devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chmod = substr(decoct(fileperms(__FILE__)),2);

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    désolé mais je vois pas ce que je peux en faire...
    ta méthode est la même que celle dans la doc de php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo substr(sprintf('%o', fileperms('/tmp')), -4);
    mais je n'arrive pas à l'utiliser.

    Pourrais tu l'appliquer avec mon code STP...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Voici le code que j'ai utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $cible = __FILE__;
    $perms = 0644;
    if ( chmod($cible, $perms) !== TRUE ) {
    	die('ERREUR sur le chmod');
    } else {
    	if ($perms != octdec(substr(decoct(fileperms($cible)),2))) {
    		echo 'La permission est erronée !';
    	} else {
    		echo 'OK';
    	}
    }
    ?>
    php convertissant $perms en valeur décimale, et substr étant une chaine de la valeur octale, les deux ne sont pas équivalent. Par contre, en appliquant octdec, on transforme la chaine octale en nombre décimal et le test peut alors être correctement évalué.

Discussions similaires

  1. Comment vérifier si Excel est installé ?
    Par mathieutlse dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 16/08/2017, 18h49
  2. Vérifier le mode d'un chmod
    Par Tchupacabra dans le forum Langage
    Réponses: 7
    Dernier message: 26/06/2009, 09h57
  3. [Regex] Vérifier qu'une chaîne respecte une expression régulière
    Par PeteMitchell dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 13/05/2004, 14h22
  4. comment vérifier qu'une table esclave vérifie une condition?
    Par loikiloik dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/04/2004, 16h48
  5. [Jsp]Vérifier le nombre de connections
    Par antigone dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/08/2003, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo