File "explore_arbo01.php"

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

<?php

//$imagePath = "/home/analogde/www/PATRICE/password.docx";

$chemin = "/home/analogde/www/Document_workarea/patrice/Test";
$fichier = "picamera.pdf";

$recherche = $chemin ."/" .$fichier;

echo " ----->>> " .$recherche;

// Vérifier si le fichier existe
if (file_exists($recherche)) 
{

    echo " Yes, il existe....";

} 
else 
{
    echo "Fichier introuvable";
}


    $directoryPath = $chemin; 

    // Vérifier si le chemin est valide
    if (is_dir($directoryPath)) 
    {
        // Lire le contenu du répertoire
        $files = scandir($directoryPath);

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

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

/*
        RC parallels.docx
        capture_IC616.jpg
        capture_IC616_v01.jpg
        capture_IC616_v02.jpg
        capture_IC616_v03.jpg
        picamera.pdf
*/

    $v = "capture_IC616.jpg";

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

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

    // 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 fichiers à télécharger</h1>";
echo "<ul>";

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

    // Générer un lien HTML pour chaque fichier
    echo "<li><a href=\"$filePath\" download>$file</a></li>";
}

echo "</ul>";


// https://www.tutorialrepublic.com/php-tutorial/php-file-download.php

// https://learncodeweb.com/snippets/download-a-file-from-the-url-in-php/

// https://phpgurukul.com/how-to-download-a-file-in-php/

// https://stackoverflow.com/questions/27668971/downloading-a-file-from-a-php-server-via-a-website/27669176#27669176

// https://www.codexworld.com/force-download-file-php/

// https://www.geeksforgeeks.org/how-to-make-pdf-file-downloadable-in-html-link-using-php/

// https://www.w3docs.com/snippets/php/automatic-download-file.html

// https://www.geeksforgeeks.org/how-to-force-a-file-to-get-downloaded-in-php/

// https://www.w3docs.com/snippets/php/php-generate-file-for-download-then-redirect.html

// https://www.hashbangcode.com/article/force-file-download-php

// https://linuxhint.com/download_file_php/

// https://gist.github.com/MasterEx/1135904/30f2111a8c395c86c7c8f4496ac2dfd7daefae27

/*
    $url = 'https://media.geeksforgeeks.org/wp-content/uploads/gfg-40.png';
    
    // Use basename() function to return the base name of file
    $file_name = basename($url);
    
    // Use file_get_contents() function to get the file
    // from url and use file_put_contents() function to
    // save the file by using base name
    if (file_put_contents($file_name, file_get_contents($url)))
    {
        echo "File downloaded successfully";
    }
    else
    {
        echo "File downloading failed.";
    }
*/

    $chemin = "/home/analogde/www/Document_workarea/patrice/Test/capture_IC616_v03.jpg";
    $chemin = "/home/analogde/www/Document_workarea/patrice/Test/tartuffe.pdf";
    $chemin = "/home/analogde/www/Document_workarea/patrice/Test/picamera.pdf";

    echo "----->>> " . $chemin;

    //header('Content-Type: application/octet-stream');
    //header('Content-Disposition: attachment; filename="' . basename($chemin) . '"');
    //header('Content-Length: ' . filesize($chemin));
 
    // Read and output the file content
    //readfile($chemin);

      // Définir les en-têtes HTTP pour forcer le téléchargement
      /*
      header('Content-Description: File Transfer');
      header('Content-Type: application/octet-stream');
      header('Content-Disposition: attachment; filename="' . basename($chemin) . '"');
      header('Expires: 0');
      header('Cache-Control: must-revalidate');
      header('Pragma: public');
      header('Content-Length: ' . filesize($chemin));

      // Lire le fichier et l'envoyer au navigateur
      readfile($chemin);

      // Arrêter l'exécution du script
      exit;*/

      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;

    $s = "capture_IC616_v03.jpg";

    // 1. Supprimer l'extension du fichier
    $fileWithoutExtension = pathinfo($s, PATHINFO_FILENAME);
    
    // 2. Vérifier si la chaîne se termine par "_vxx"
    if (preg_match('/_v\d{2}$/', $fileWithoutExtension)) {
        echo "La chaîne \"$fileWithoutExtension\" se termine par une version (_vxx).";
    } else {
        echo "La chaîne \"$fileWithoutExtension\" ne se termine pas par une version (_vxx).";
    }

    } 
    else
    {
        echo "<p>Le chemin spécifié n'est pas un répertoire valide.</p>";
    }

?>