Delete directory recursively

From Sum-e Wiki

Jump to: navigation, search

Author: User:Fornve Marek Dajnowski

License: GPL v3

<?php
<?php

function GoUpAndDeleteFiles( $dirname )
{
	echo "<hr />Scanning {$dirname}<br />";

	$dir = scandir( $dirname );

	if( $dir ) foreach( $dir as $file )
	{
		echo "Scanning path: $dirname .'/'.  $file<br />";

		if( $file != '.' && $file != '..' && is_dir( $dirname .'/'. $file ) )
		{
			GoUpAndDeleteFiles( $dirname .'/'. $file );
			if( unlink(  $dirname .'/'. $file ) )
			{
				echo "<p style=\"color: green;\">Deleted ". $dirname .'/'. $file ."</p>";
			}
			else
			{
				echo "<p style=\"color: red;\">Not deleted ". $dirname .'/'. $file ."</p>";
			}
		}
		elseif( $file != '.' && $file != '..' )
		{
			echo "File: {$file}<br />";
			if( unlink(  $dirname .'/'. $file ) )
			{
				echo "<p style=\"color: green;\">Deleted ". $dirname .'/'. $file ."</p>";
			}
			else
			{
				echo "<p style=\"color: red;\">Not deleted ". $dirname .'/'. $file ."</p>";
			}

		}
	}
	echo "<hr />";

}

$dirs[] = '/path/to/dir1';
$dirs[] = '/path/to/dir2';
$dirs[] = '/path/to/dir3';

foreach ( $dirs as $dirname )
{
	GoUpAndDeleteFiles( $dirname );
}

echo '<h3>End</h3>';
Personal tools