(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.
filenamePercorso 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.