(PHP 4, PHP 5)
chmod — Change le mode du fichier
$filename
, int $mode
)
Remplace le mode du fichier filename
par le mode mode
.
filename
Chemin vers le fichier.
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
) :
<?php
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.
<?php
// Lecture et écriture pour le propriétaire, rien pour les autres
chmod("/somedir/somefile", 0600);
// Lecture et écriture pour le propriétaire, lecture pour les autres
chmod("/somedir/somefile", 0644);
// Tout pour le propriétaire, lecture et exécution pour les autres
chmod("/somedir/somefile", 0755);
// Tout pour le propriétaire, lecture exécution pour le groupe, rien pour les autres
chmod("/somedir/somefile", 0750);
?>
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
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. Le mode ne peut être modifié que par l'utilisateur à qui appartient le fichier sur la plupart des systèmes.
Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.
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.