File "explore_arbo03.php"

Full Path: /home/analogde/www/FTP/Monsta-FTP-master/explore_arbo03.php
File size: 4.87 KB
MIME-type: text/x-php
Charset: utf-8

<?php


    if (isset($_GET['file'])) 
    {
        $file = $_GET['file'];
        
        //echo " Selection " .$file ."<br>";
       
        $chemin = $file;

        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($chemin));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($chemin));
        ob_clean();
        flush();
        readfile($chemin);
        exit;
    }    


    $page_reference =  $_GET['source']; 
    $fichier =  $_GET['fichier']; 
    $chemin =  $_GET['path']; 

    //echo " ---->>> " .$page_reference ."<br>";
    //echo " ---->>> " .$fichier ."<br>";
    //echo " ---->>> " .$chemin ."<br>";

    // mise en forme d'une partie du chemin
    $chemin_format = str_replace("~", "/home/analogde", $chemin);
    // creation du chemin complet avec le nom du fichier
    $recherche = $chemin_format ."/" .$fichier;
    
    // Vérifier si le fichier existe
    if (file_exists($recherche)) 
    {
            //echo " Yes, il existe....";
    
            //$nom_repertoire = str_replace("~", "/home/analogde", $chemin);

            // Lire le contenu du répertoire
            $fichiers_scan = scandir($chemin_format);

            //echo "<h1>Liste des fichiers dans le répertoire : $chemin_format</h1>";
            //echo "<ul>";
    
            $fileList = [];

            // Parcourir les fichiers
            foreach ($fichiers_scan as $file) 
            {
                // Ignorer les entrées spéciales "." et ".."
                if ($file !== "." && $file !== "..") 
                {
                    $fileList[] = $file;
                    //echo "<li>$file</li>";
                }
            }
            //echo "</ul>";

            // Extraire la partie du nom sans extension
            $baseName = pathinfo($fichier, PATHINFO_FILENAME);

            // Tableau pour stocker les fichiers correspondants
            $matchingFiles = [];

             // on ajoute le fichier en version initial
            $matchingFiles[] = $fichier;

            // Parcourir la liste des fichiers
            foreach ($fileList as $file) 
            {
                // Extraire la partie du nom sans extension
                $currentBaseName = pathinfo($file, PATHINFO_FILENAME);
                // Vérifier si le fichier partage une partie commune de nom avec le fichier de référence
                if (strpos($currentBaseName, $baseName) === 0 && $currentBaseName !== $baseName)
                {
                    $matchingFiles[] = $file;
                }
            }

            //echo "<pre>";
            //print_r($matchingFiles);
            //echo "</pre>";

            // Génération des liens de téléchargement
            echo "<h1>Liste des versions disponibles</h1>";
            echo "<ul>";

            foreach ($matchingFiles as $file) 
            {
                // Générer le lien complet
                //$filePath = $directoryPath . "/" . $file;

                //$recherche = $chemin ."/" .$file;
                //$recherche = str_replace("~", "/home/analogde", $recherche);

                $recherche = $chemin_format ."/" .$file;

                // Generer un lien HTML pour chaque fichier
                //echo "<li><a href=\"$filePath\" download>$file</a></li>";
                echo "<li>";
?>
<!--
                <a href="explore_arbo03.php?file=<?php echo $recherche ?>">Download File</a>
-->
                <a href="explore_arbo03.php?file=<?php echo $recherche ?>"><?php echo $file ?></a>


<?php
                echo "</li>";
            }

            echo "</ul>";
    } 
    else 
    {
        echo "Fichier introuvable";
    }

?>

<!DOCTYPE html>
<html lang="fr">
<head>
   

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>P2</title>
    <script>
        // Fonction pour revenir à la page source
        function goBack() 
        {
            window.location.href = "<?php echo htmlspecialchars($page_reference); ?>";
        }
    </script>
</head>
<body>
    
    <button onclick="goBack()">Retour à l'explorateur</button>

    <p>
Voici un portail web qui vous permet de vous diriger vers les différentes platerformes utiles à l'UNSS 76 :
Vous pouvez cliquer sur les images qui vous renvoient directement vers les sites => mail de l'UNSS76, le site UNSS.ORG et son line vers OPUSS,
la partage dropbox, les réseaux sociaux ...
</p>

<!--
    <a href="explore_arbo02.php?file=SampleFile.pdf" >Download File</a>
    -->
    <!--
    <a href="explore_arbo02.php?file=<?php echo urlencode($toto); ?>">Download File</a>
    -->
</body>
</html>