chmod

(PHP 3, PHP 4 , PHP 5)

chmod -- Change le mode du fichier

Description

bool chmod ( string filename, int mode )

chmod() remplace le mode du fichier filename par le mode mode.

Il est à noter que le mode mode est considéré comme un nombre en notation octale. Afin de vous en assurer, vous pouvez préfixer cette valeur par un zéro (mode):

Exemple 1. Comment utiliser chmod()

chmod ("/somedir/somefile", 755);   
// notation décimale : probablement faux
chmod ("/somedir/somefile", "u+rwx,go+rx");
// chaîne : incorrect       
chmod ("/somedir/somefile", 0755);  
// notation octale : valeur du mode correcte

Le paramètre mode est constitué de trois valeurs octales qui spécifient les droits pour le propriétaire, le groupe du propriétaire et les autres, respectivement. Chaque composant peut être calculé en ajoutant les droits désirés. Le chiffre 1 donne les droits d'exécution, le chiffre 2 les droits d'écriture et le chiffre 4 les droits de lecture. Ajoutez simplement ces nombres pour spécifier les droits voulus. Vous pouvez aussi lire le manuel des systèmes Unix avec man 1 chmod et man 2 chmod.

Exemple 2. Comment utiliser le paramètre mode de chmod()

// Lecture et écriture pour le propriétaire, rien pour les autres
chmod ("/un_dossier/un_fichier", 0600);

// Lecture et écriture pour le propriétaire, lecture pour les autres
chmod ("/un_dossier/un_fichier", 0644);

// Tous pour le propriétaire, lecture et exécution pour les autres
chmod ("/un_dossier/un_fichier", 0755);

// Tout pour le propriétaire, lecture exécution pour le groupe, rien pour les autres
chmod ("/un_dossier/un_fichier", 0750);

Note : L'utilisateur courant est l'utilisateur avec lequel PHP fonctionne. Il est probablement différent de l'utilisateur que vous utilisez en mode Shell ou FTP.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Note : Lorsque le safe mode est activé, PHP vérifie si les fichiers et dossiers que vous allez utiliser ont le même UID (propriétaire) que le script qui est en cours d'exécution. De plus, vous ne pouvez pas modifier les SUID, SGID et sticky bits.

Note : Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

Voir aussi chown() et chgrp().