File "explore_arbo04.php"
Full Path: /home/analogde/www/FTP/Monsta-FTP-master/explore_arbo04.php
File size: 9.98 KB
MIME-type: text/html
Charset: utf-8
<!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>Module gestion des versions</title>
<link rel="icon" type="image/x-icon" href="version.png">
<style>
a { color: #abcde1}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: center;
}
th {
background-color: #f4f4f4;
}
button {
padding: 8px 16px;
background-color: #007BFF;
color: white;
border: none;
cursor: pointer;
font-size: 14px;
}
button:hover {
background-color: #0056b3;
}
/*
.button-container {
display: flex;
flex-direction: column;
width: 200px;
}
.button-container button {
margin: 5px 0;
padding: 10px;
background-color: #007BFF;
color: white;
border: none;
cursor: pointer;
font-size: 16px;
}
.button-container button:hover {
background-color: #0056b3;
}
*/
</style>
<!--
<style>
.navLink { color: blue; }
</style>
<a class="navLink">...</a>
-->
<script>
// Fonction pour revenir à la page source
function goBack()
{
window.location.href = "<?php echo htmlspecialchars("style06.php"); ?>";
}
</script>
</head>
<?php
if (isset($_GET['button']))
{
$buttonValue = $_GET['button'];
echo "<p>Vous avez cliqué sur le bouton : $buttonValue</p>";
}
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 = isset($_GET['source']) ? htmlspecialchars($_GET['source']) : '';
$fichier = isset($_GET['fichier']) ? htmlspecialchars($_GET['fichier']) : '';
$chemin = isset($_GET['path']) ? htmlspecialchars($_GET['path']) : '';
//$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);
$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>";
$filesData = [];
foreach ($matchingFiles as $file)
{
$recherche = $chemin_format ."/" .$file;
// Récupérer les informations sur le fichier
$fileSize = filesize($recherche); // Taille en octets
$fileCreationTime = filectime($recherche); // Timestamp de la création
$taille = human_filesize($fileSize, $precision = 2);
// Ajouter les informations au tableau
$filesData[] = [
'name' => $file,
'size' => $taille,
'creation_date' => date('d-m-Y H:i:s', $fileCreationTime), // Formater la date
];
}
echo "<pre>";
print_r($filesData);
echo "</pre>";
// nouvelle génération des liens
foreach ($filesData as $file)
{
echo "Nom du fichier : " . $file['name'] . "<br>";
echo "Taille : " . $file['size'] . "<br>";
echo "Date de création : " . $file['creation_date'] . "<br><br>";
}
?>
<table align = "left" border = "1" cellpadding = "3" cellspacing = "0">
<tr>
<td>Value</td>
<td>Multiplication</td>
</tr>
<tr>
<td> aaa </td>
<td> bbb </td>
</tr>
<tr>
<td> ccc </td>
<td> ddd </td>
</tr>
</table
<br><br><br><br><br>
<?php
// 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 ?>" title = "clic pour télécharger le fichier" style="text-decoration:none" ><?php echo $file ?></a>
<?php
echo "</li>";
}
echo "</ul>";
}
else
{
echo "Fichier introuvable";
}
function human_filesize($size, $precision = 2) {
$units = array('B','kB','MB','GB','TB','PB','EB','ZB','YB');
$step = 1024;
$i = 0;
while (($size / $step) > 0.9) {
$size = $size / $step;
$i++;
}
return round($size, $precision).$units[$i];
}
?>
<body>
<table>
<thead>
<tr>
<th>Nom</th>
<th>Taille</th>
<th>Heure</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
//foreach ($rows as $index => $row):
foreach ($filesData as $row)
{
$recherche = $chemin_format ."/" .$row['name'];
$newValue = "nouvelleValeur"; // Nom de la nouvelle valeur
$url = "explore_arbo04.php?val1=$valeur1&val2=$valeur2&val3=$valeur3&newValue=$newValue";
?>
<tr>
<td><?= htmlspecialchars($row['name']) ?></td>
<td><?= htmlspecialchars($row['size']) ?></td>
<td><?= htmlspecialchars($row['creation_date']) ?></td>
<td>
<!-- Bouton qui renvoie une valeur via GET -->
<button onclick="location.href='?button=<?= $index + 1 ?>'">Action <?= $index + 1 ?></button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<button onclick="goBack()">Retour à l'explorateur</button>
<br>
<br>
<br>
<div class="button-container">
<!-- Chaque bouton renvoie une valeur différente via GET -->
<button onclick="location.href='?button=1'">Bouton 1</button>
<button onclick="location.href='?button=2'">Bouton 2</button>
<button onclick="location.href='?button=3'">Bouton 3</button>
<button onclick="location.href='?button=4'">Bouton 4</button>
</div>
<!--
<a href="explore_arbo02.php?file=SampleFile.pdf" >Download File</a>
-->
<!--
<a href="explore_arbo02.php?file=<?php echo urlencode($toto); ?>">Download File</a>
-->
<a href="https://yourwebsite.com" title="My landing page"> aaaaaaaa </a>
<p> zoulou </p>
<button onclick="window.location.href='https://w3docs.com';"> Click Here </button>
<!--
https://stackoverflow.com/questions/36389275/submitting-value-depending-on-what-button-is-clicked
-->
</body>
</html>