(PHP 4, PHP 5)
chmod — Cambia le impostazioni del file
$filename
, int $mode
)
Tenta di cambiare le impostazioni del file
filename
in quelle date in
mode
.
Si osservi che mode
non viene automaticamente
assunto come valore ottale, per cui le stringhe (come "g+w") non verranno
elaborate correttamente. Per ottenere l'operazione desiderata, è necessario
far precedere mode
da uno zero (0):
<?php
chmod("/somedir/somefile", 755); // decimale; probabilmente errato
chmod("/somedir/somefile", "u+rwx,go+rx"); // stringa; errato
chmod("/somedir/somefile", 0755); // ottale; valore corretto di mode (preceduto da uno 0)
?>
Il parametro mode
consiste in tre numeri
ottali costituenti le restrizioni dell'accesso per il proprietario,
il gruppo utente a cui appartiene il proprietario, e gli altri utenti, nell'ordine dato.
Ciascun numero può essere calcolato aggiungendo i permessi
al valore base per l'utente. Il numero 1 indica che si abilita all'esecuzione del file,
con il numero 2 si assegnano i diritti di scrittura, con il numero 4
si assegna il permesso di lettura del file. Aggiungere questi
numeri per ottenere i diritti richiesti. Si possono avere maggiori
dettagli sui permessi dei sistemi Unix usando il comando 'man 1 chmod' e 'man 2 chmod'.
<?php
// Lettura e scrittura per il proprietario, e nessun permesso per gli altri
chmod("/somedir/somefile", 0600);
// Lettura e scrittura per il proprietario, e lettura per gli altri
chmod("/somedir/somefile", 0644);
// Accesso completo per il proprietario, e lettura ed esecuzione per gli altri
chmod("/somedir/somefile", 0755);
// Accesso completo per il proprietario, e lettura ed esecuzione per il gruppo del proprietario
chmod("/somedir/somefile", 0750);
?>
Restituisce TRUE
in caso di successo, FALSE
in caso di fallimento.
Nota:
L'utente corrente è l'utente con il quale viene eseguito il PHP. Probabilmente non è il medesimo utente che si usa da shell o dall'accesso FTP.
Nota: Questa funzione non opererà su file remoti perché il file che deve essere esaminato deve essere accessibile attraverso il filesysmte del server.
Nota: Quando modalità sicura viene abilitato, PHP controlla se i files o le directory su cui si sta operando, hanno il medesimo UID (proprietario) dello script che sta per essere eseguito. In aggiunta, non si può impostare il SUID, SGID e sticky bit.