File "explorateur05.php"

Full Path: /home/analogde/www/Analyse/explorer/explorateur05.php
File size: 3.64 KB
MIME-type: text/x-php
Charset: utf-8

<?php
function scanDirectory($directory) {
    $result = [];
    $files = scandir($directory);
    foreach ($files as $file) {
        if ($file !== '.' && $file !== '..') {
            $path = $directory . DIRECTORY_SEPARATOR . $file;
            if (is_dir($path)) {
                $result[] = [
                    'name' => $file,
                    'type' => 'directory',
                    'children' => scanDirectory($path)
                ];
            } else {
                $result[] = [
                    'name' => $file,
                    'type' => 'file'
                ];
            }
        }
    }
    return $result;
}

function displayTree($tree, $level = 0) {
    foreach ($tree as $item) {
        if ($item['name'] === 'explorateur01.php') {
            echo '<ul class="tree-item" style="margin-left: ' . ($level * 20) . 'px; list-style-type: none;">';
            echo '<li>';
            echo '<span class="toggle" onclick="toggleTree(this)">+</span>';
            echo '<span class="name">' . htmlspecialchars($item['name']) . '</span>';
            echo '<ul class="sub-list" style="display: none;">';
            for ($i = 1; $i <= 5; $i++) {
                echo '<li>Sous-élément ' . $i . '</li>';
            }
            echo '</ul>';
            echo '</li>';
            echo '</ul>';
        } else {
            echo '<div class="tree-item" style="margin-left: ' . ($level * 20) . 'px;">';
            echo '<span class="toggle" onclick="toggleTree(this)">' . ($item['type'] === 'directory' ? '+' : '') . '</span>';
            echo '<span class="name">' . htmlspecialchars($item['name']) . '</span>';
            if (isset($item['children'])) {
                echo '<div class="tree-children" style="display: none;">';
                displayTree($item['children'], $level + 1);
                echo '</div>';
            }
            echo '</div>';
        }
    }
}

$directory = 'path/to/your/directory'; // Remplacez par le chemin de votre répertoire

$directory = "/home/analogde/www/2024_PHP/2024_PHP_26_10_2024";


$tree = scanDirectory($directory);
?>

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Tree View</title>
    <style>
        .tree-item {
            cursor: pointer;
        }
        .toggle {
            display: inline-block;
            width: 20px;
            text-align: center;
        }
        .name {
            display: inline-block;
        }
        .tree-children {
            margin-left: 20px;
        }
        .sub-list {
            margin-left: 20px;
        }
        .tree-item ul {
            list-style-type: none;
            padding: 0;
        }
    </style>
    <script>
        function toggleTree(element) {
            const children = element.nextElementSibling.nextElementSibling;
            if (children && children.classList.contains('tree-children')) {
                if (children.style.display === 'none') {
                    children.style.display = 'block';
                    element.textContent = '-';
                } else {
                    children.style.display = 'none';
                    element.textContent = '+';
                }
            } else if (children && children.classList.contains('sub-list')) {
                if (children.style.display === 'none') {
                    children.style.display = 'block';
                    element.textContent = '-';
                } else {
                    children.style.display = 'none';
                    element.textContent = '+';
                }
            }
        }
    </script>
</head>
<body>
    <div class="tree-view">
        <?php displayTree($tree); ?>
    </div>
</body>
</html>