pardon de corriger mais je penses qu'il est plus raisonnable de mettre ce contenu dans la fonction afterDelete()
Imagine que la suppression n'est pas marché?? l'id du post (ou je ne sais quel autres model) sera toujours présent et les images non!!!
par contre en utilisant l'afterDelete tu es sur que la suppression a eu lieu
Pour ce qui est de ton problème il ne trouve pas le fichier correspondant (je ne sais pas si tu es sur Linux) donc pense à enlever le premier slash et retester c'est peut être lui qui te pointe vers le root
Le soucis se trouvant apparement dans IMAGES
tu peux utiliser $this->webroot comme ci
unlink($this->webroot.'img'.DS.'carousel'.DS.$file);
Sinon tu peux également utiliser la fonction delete()
App::uses('File', 'Utility');
public function afterDelete() {
$file = $this->field('image');
unlink(IMAGES.'carousel'.DS.$file);
$f = explode('.',$file);
$ext = '.'.end($f);
$file =implode('.',array_slice($f,0,-1));
foreach(glob(IMAGES.'carousel'.DS.$file.'_*.jpg') as $v){
$file = new File(WWW_ROOT . '$v, false, 0777);
$file->delete();
//unlink($v);
}
return true;
}