Boolean chMod(string nom-du-fichier, int mode)
La fonction chMod modifie les permissions Unix pour le fichier spécifié.
On retrouve toutes les autorisations disponibles sous Unix.
Attention toutefois : le mode, à moins que vous indiquiez une constante
numérique préfixée par un 0, est traité par la fonction comme un nombre décimal.
Sous Unix, on trouve trois chiffres qui spécifient les privilèges
d'accès à un fichier pour un utilisateur particulier, un groupe et tous les autres.
Les modes peuvent s'ajouter pour combiner les privilèges.
Par exemple, pour rendre un fichier accessible en lecture et en exécution,
utilisez le mode 5. Pour en savoir plus, reportez-vous, sous Unix, à la page
de documentation (main page).
Les permissions d'accès (sous Unix) :
Mode | Description |
0 | Pas d'accès |
1 | Exécution |
2 | Ecriture |
4 | Lecture |
Sous Windows, la fonction chMod est très limitée.
Les modes décrits au tableau ci-dessus ont été définis par Microsoft et
peuvent être combinés avec l'opérateur bitwise mais,
en pratique, seule la permission en écriture a un sens.
En effet, sous Windows, tous les fichiers sont accessibles en lecture,
et c'est leur extension qui détermine s'ils peuvent être exécutés.
Les permissions d'accès (sous Windows)
Mode | Description |
0000400 | Autorise la lecture pour un utilisateur |
0000200 | Autorise l'écriture pour un utilisateur |
0000100 | Autorise l'exécution et la recherche pour un utilisateur |
Les fonctions de permission de fichiers vous informent sur le mode du fichier courant.
<?
if(chMod("data.txt", 0666))
{
print("mode change sucessfull");
}
else
{
print("mode change unsucessfull");
}
?>
Ces fonctions appartiennent à un ensemble de trois fonctions qui modifient
des informations similaires sur les fichiers. Les deux autres fonctions sont
chGrp et
chown.
Booléen chOwn(chaîne nom-du-fichier, chaîne nom de l'utilisateur)
Le nom d'un utilisateur, associé à un fichier, peut être modifié par la cette fonction.
Si l'opération réussit, la fonction renvoie TRUE, sinon FALSE. Sous Windows,
elle ne déclenche aucune opération et renvoie toujours TRUE.
Pour connaître le propriétaire courant d'un fichier, il faut utiliser la fonction
fileowner().
<?
if(chown("data.txt","leon"))
{
print("owner changed");
}
else
{
print("owner not changed");
}
?>