(PHP 4, PHP 5, PHP 7, PHP 8)
chmod — Cambia le impostazioni del file
Tenta di cambiare le impostazioni del file specificato in quelle date in
mode
.
filename
Percorso del file.
mode
Si osservi che mode
non viene automaticamente
assunto come valore ottale, quindi per ottenere l'operazione desiderata,
è necessario far precedere mode
da uno zero (0).
Le stringhe come "g+w" non verranno elaborate correttamente.
<?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 utenti,
nell'ordine dato. Ciascun numero può essere calcolato aggiungendo i permessi
necessari per quel bacino di utenti di destinazione. Il numero 1 indica che
si abilita all'esecuzione del file, con il numero 2 si assegnano i permessi di
scrittura, con il numero 4 si assegna il permesso di lettura del file. Sommare
questi numeri per ottenere i permessi 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 tutti gli altri
chmod("/somedir/somefile", 0600);
// Lettura e scrittura per il proprietario, e lettura per tutti 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);
?>
Nota:
L'utente corrente è l'utente con il quale viene eseguito PHP. Probabilmente non è lo stesso utente che si usa per la shell normale o per l'accesso FTP. Il mode può essere cambiato solo dall'utente che possiede il file sulla maggior parte dei sistemi.
Nota: Questa funzione non opererà su file remoti perché il file che deve essere esaminato deve essere accessibile attraverso il filesysmte del server.