chmod

(PHP 3, PHP 4 , PHP 5)

chmod -- Cambia le impostazioni del file

Descrizione

bool chmod ( string 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 iniziare mode con 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
?>

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. 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 eseguibile con file remoti, ma con file accessibili attraverso il filesystem del server.

Nota: Quando si abilita il safe mode, il PHP verifica se i file o le directory su cui si sta operando hanno il medesimo UID (proprietario) dello script. In aggiunta, non si pu impostare il SUID, SGID e lo sticky bit.

Vedere anche chown() e chgrp().