Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Cancellare l'intero contenuto di una directory con PHP :: Indice Php

Cancellare l'intero contenuto di una directory con PHP

Categoria: Php Inserito il: 18-12-2006 Stampa (19001 click)

La funzione rmdir() di PHP ha un grosso limite, non è infatti possibile utilizzarla nel caso in cui una directory contenga a sua volta sotto-cartelle o files; possiamo però utilizzare una funzione personalizzata per rimediare a questa mancanza.

Il breve script che presentiamo si basa sull'azione delle funzioni unlink() (preposta alla cancellazione dei file) e rmdir() (per cancellare cartelle); esse vengono applicate ricorsivamente in modo da elimnare prima il suo contenuto e infine la directory interessata al processo di cancellazione; l'azione ricursiva è data dal carattere Jolly "*" che in pratica significa "tutto":

<?
function rmdirr($dir) {
   if($objs = @glob($dir."/*")){
        foreach($objs as $obj) {
	 @is_dir($obj)? rmdirr($obj) : @unlink($obj);
	  }
 }
@rmdir($dir);
}		
?>

 
L'unica avvertenza doverosa e che l'uso di questo script può essere molto pericoloso in quanto il processo di cancellazione non è reversibile.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Come funzionano gli Zend_Controller
I meccanismi messi in essere dai controller dello Zend_Framework sono quelli tipici delle architetture per oggetti, per cui ad una... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti