prova così:

function permessi($dir)
{
if ($handle= opendir($dir)) #apro la cartella
{
while ($file = readdir($handle)) #leggo tutti i files
if (is_dir ($file)) #è una cartella chiamo ricorsivamente la funzione
permessi($file)
else
chmod($file, 0777); #altrimenti è un file e modifico i permessi

closedir($handle);
}
}


l'ho scritta così su due piedi potrebbe non essere perfetta..