is_dir($itemToDelete)) { function deleteFolder($sftp, $folderPath) { $items = $sftp->nlist($folderPath); if ($items === false) return false; foreach ($items as $item) { if ($item === '.' || $item === '..') continue; $itemPath = $folderPath . '/' . $item; if ($sftp->is_dir($itemPath)) { if (!deleteFolder($sftp, $itemPath)) return false; } else { if (!$sftp->delete($itemPath)) return false; } } return $sftp->rmdir($folderPath); } $success = deleteFolder($sftp, $itemToDelete); } else { $success = $sftp->delete($itemToDelete); } if (!$success) { http_response_code(500); exit('Failed to delete the item.'); } header("Location: index.php?path=" . urlencode($parentPath)); exit; } header("Location: index.php"); exit;