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>