PHP 8.2.30
Preview: soft_delete.php Size: 3.08 KB
/var/softaculous/presta178/soft_delete.php

<?php

//Remove var/cache directory recursively
rmdir_recursive_fn('[[softpath]]/app/cache/prod/');
rmdir_recursive_fn('[[softpath]]/var/cache/prod/');

function rmdir_recursive_fn($path){
		
	$path = (substr($path, -1) == '/' || substr($path, -1) == '\\' ? $path : $path.'/');
	
	resetfilelist();
	
	$files = filelist($path, 1, 0, 'all');
	$files = (!is_array($files) ? array() : $files);
	
	//First delete the files only
	foreach($files as $k => $v){
			@chmod($k, 0777);
		if(file_exists($k) && is_file($k) && @filetype($k) == "file"){
			@unlink($k);
		}
	}
	
	@clearstatcache();
	
	$folders = filelist($path, 1, 1, 'all');
	$folders = (!is_array($folders) ? array() : $folders);
	@krsort($folders);

	//Now Delete the FOLDERS
	foreach($folders as $k => $v){
			@chmod($k, 0777);
		if(is_dir($k)){
			@rmdir($k);
		}
	}
	
	@rmdir($path);
	
	@clearstatcache();

}

function resetfilelist(){
global $directorylist;
	$directorylist = array();
}

function filelist($startdir="./", $searchSubdirs=1, $directoriesonly=0, $maxlevel="all", $level=1, $reset = 1) {
   //list the directory/file names that you want to ignore
   $ignoredDirectory[] = ".";
   $ignoredDirectory[] = "..";
   $ignoredDirectory[] = "_vti_cnf";
   global $directorylist;    //initialize global array
   
   if(substr($startdir, -1) != '/'){
		$startdir = $startdir.'/';
	}
   
   if (is_dir($startdir)) {
       if ($dh = opendir($startdir)) {
           while (($file = readdir($dh)) !== false) {
               if (!(array_search($file,$ignoredDirectory) > -1)) {
                 if (@filetype($startdir . $file) == "dir") {
                     
					   //build your directory array however you choose;
                       //add other file details that you want.
					   
                       $directorylist[$startdir . $file]['level'] = $level;
                       $directorylist[$startdir . $file]['dir'] = 1;
                       $directorylist[$startdir . $file]['name'] = $file;
                       $directorylist[$startdir . $file]['path'] = $startdir;
                       if ($searchSubdirs) {
                           if ((($maxlevel) == "all") or ($maxlevel > $level)) {
                               filelist($startdir . $file . "/", $searchSubdirs, $directoriesonly, $maxlevel, ($level + 1), 0);
                           }
                       }
					  
					   
                   } else {
                       if (!$directoriesonly) {
					     
					  //  echo substr(strrchr($file, "."), 1);
                           //if you want to include files; build your file array 
                           //however you choose; add other file details that you want.
                         $directorylist[$startdir . $file]['level'] = $level;
                         $directorylist[$startdir . $file]['dir'] = 0;
                         $directorylist[$startdir . $file]['name'] = $file;
                         $directorylist[$startdir . $file]['path'] = $startdir;
						  
					 
     }}}}
           closedir($dh);
}}

if(!empty($reset)){
	$r = $directorylist;
	$directorylist = array();
	return($r);
}
}

@unlink('soft_delete.php');

Directory Contents

Dirs: 6 × Files: 25

Name Size Perms Modified Actions
images DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
php53 DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
php56 DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
php71 DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
php81 DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
php82 DIR
- drwxr-xr-x 2025-09-12 21:02:38
Edit Download
3.31 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
6.03 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
6.53 KB lrw-r--r-- 2024-01-18 12:34:48
Edit Download
20.82 KB lrw-r--r-- 2025-09-12 09:58:22
Edit Download
6.15 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
4.41 KB lrw-r--r-- 2025-09-12 09:58:22
Edit Download
447 B lrw-r--r-- 2023-04-24 17:52:44
Edit Download
327 B lrw-r--r-- 2023-03-23 09:49:58
Edit Download
5.80 KB lrw-r--r-- 2025-09-12 09:58:22
Edit Download
4.17 KB lrw-r--r-- 2025-09-12 09:53:30
Edit Download
1.12 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
19.22 KB lrw-r--r-- 2025-09-12 09:58:22
Edit Download
1.46 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
1.66 KB lrw-r--r-- 2025-09-12 09:58:22
Edit Download
49.71 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
1.65 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
50.15 KB lrw-r--r-- 2024-01-01 07:38:44
Edit Download
746 B lrw-r--r-- 2023-03-23 09:49:58
Edit Download
11 B lrw-r--r-- 2023-03-23 09:49:58
Edit Download
38.22 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
3.36 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
23 B lrw-r--r-- 2023-03-23 09:49:58
Edit Download
2.71 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
3.08 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download
6.10 KB lrw-r--r-- 2023-03-23 09:49:58
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).