Capita a noi webmaster di avere problemi di permessi con file e cartelle nei nostri server web… Oggi, per esempio, mentre facevo dei test per uno script di copia ricorsiva, mi son ritrovato a far la copia ricorsiva in loop, e a causa di un file con permesso in sola lettura… beh, praticamente non riuscivo più a rimuovere questa cartella con percorso infinito.
Così ho dovuto cercare/creare un modo facile e veloce per ripristinare i permessi di quei file, e il modo più semplice – ovviamente – è stato il .php
<?php $dirpath = '/***/***/public_html/directoryname'; $dirperm = 0755; // Directory Permission $fileperm = 0644; // File Permission // fix root directory chmod ($dirpath, $dirperm); // then, fix child elements $glob = glob($dirpath."/*"); foreach($glob as $ch) { // If is directory, else... $ch = (is_dir($ch)) ? chmod ($ch, $dirperm) : chmod ($ch, $fileperm); } ?>
Son partito da ricerche online… Avevo trovato esempi con DirectoryIterator e simili, ma poi ho scelto glob, l’ho estratto dalla funzione, ho aggiunto le variabili, usato l’operatore ternario… Insomma, l’ho rifatto un po’
In pratica basta impostare la cartella di lavoro, scegliere i permessi desiderati, e da lì in giù, in modo ricorsivo, tutti i nostri file e le nostre cartelle prenderanno i nuovi permessi 😉
Facile e veloce – e non ci sarà più bisogno di stressare l’hosting con inutili ticket 😛
Spero possa tornarvi utile!
CitaPS: purtroppo, nonostante le prove fatte, non riesco a farlo funzionare su AlterVista!
Nessun messaggio di errore, ma i permessi non cambiano.
Credo sia bloccato il chmod lato server, quindi posso farci niente ❓
—
Nessun problema su hosting tradizionale (provato sul mio, hosting linux con Apache/Php 5.6/Cpanel).