<?php
namespace App\EventListener;
use App\Entity\Main\Applications;
use Symfony\Component\EventDispatcher\GenericEvent;
class ApplicationDeleteSubscriber
{
public function __invoke(GenericEvent $event)
{
$application = $event->getSubject();
if($application instanceof Applications){
$this->rm('documents/'.$application->getId().'/');
}
}
public function rm($dir)
{
if(is_dir($dir)) {
$it = new \RecursiveDirectoryIterator( $dir, \RecursiveDirectoryIterator::SKIP_DOTS );
$files = new \RecursiveIteratorIterator( $it,\RecursiveIteratorIterator::CHILD_FIRST );
foreach ( $files as $file ) {
if ( $file->isDir() ) {
rmdir( $file->getRealPath() );
} else {
unlink( $file->getRealPath() );
}
}
rmdir( $dir );
}
}
}