Cara delete file:
Controller
public function actionDelete($id)
{
$model = $this->loadModel($id);
$folder = Yii::getPathOfAlias('webroot.uploads.files').DIRECTORY_SEPARATOR; // folder for uploaded files
$submission = $model->submission_id;
$file = $model->file;
if( $file != null && file_exists( $folder.'/'.$submission.'/'.$file ) ){
unlink(getcwd().'/uploads/files/'.$submission.'/'.$file);
}
$model->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
{
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
}
}
Cara delete folder dan isinya:
Controller
public function actionDelete($id)
{
$model = $this->loadModel($id);
$dir = getcwd().'/uploads/files/'.$id;
$this->delTree($dir);
$model->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
{
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('history'));
}
}
public static function delTree($dir) {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? $this->delTree("$dir/$file") : unlink("$dir/$file");
}
return rmdir($dir);
}