je travaille sur un class dans laquelle j'implémente une méthode de destruction recursive qui me pose soucis à-priori :
code de la méthode :
CODE
function __delete_tmp($path)
{
$dir['tmp'] = dir($path);
while($this->file['del'] = $dir['tmp']->read())
{
if(is_dir($this->file['del']))
{
$this->__delete_tmp($path.'/'.$this->file['del']);
rmdir($this->file['del']);
}
else unlink($this->file['del']);
}
$dir['tmp']->close();
}
{
$dir['tmp'] = dir($path);
while($this->file['del'] = $dir['tmp']->read())
{
if(is_dir($this->file['del']))
{
$this->__delete_tmp($path.'/'.$this->file['del']);
rmdir($this->file['del']);
}
else unlink($this->file['del']);
}
$dir['tmp']->close();
}
quand je l'appelle ainsi '$this->__undelete_tmp(DIR.'/.')' où DIR est une constante, il me retourne Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 3496 bytes) in /directory/script.php on line 125
la ligne 125 étant $this->__delete_tmp($path.'/'.$this->file['del']); dans la condition if(is_dir(...))
voili, voilou ... y'a certainement quelque chose qui cloche, mais là, je ne le vois pas.
merci d'avance.
