Script ou plugin pour faire une "galerie" de documents

Bonjour,

Je ne sais pas si ça a déjà été fait mais je voudrait pouvoir lister un ensemble de documents présents dans des dossiers pour que les visiteurs puissent les télécharger facilement.
Je pense que ça se rapproche de "Afficher toutes les images d'un répertoire" http://wiki.pluxml.org/index.php?page=Afficher+toutes+les+images+d%27un+r%C3%A9pertoire

Pour être concret, j'ai des fichiers .pdf, epub, .zip, .rar, .jpg, .png, ...

Voici quelques fonctionnalités qui pourrait être intéressantes:
* afficher des icônes ou miniatures pour les fichiers
* associer des miniatures à des fichiers/dossiers (par exemple si j'ai un dossier pluxml avec une image pluxml.tb.jpg à coté)
* pouvoir afficher les sous dossier
* possibilité d'ajouter un header et footer (par exemple pour intégrer la licence des documents)
* possibilité d'exclure certains dossiers
* si on a un index.html ou index.php , ne pas parcourir le fichier et afficher le lien
* définir le format d'affichage: liste ou miniature

j'utilise h5ai et j'ai testé bozon mais j'ai pas besoin de compliqué et je me demande si ça pourrait intéresser d'autres personnes.

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Le plus simple est de faire cela dans une page statique, quitte à transférer en plugin après.

    [list=*]
    [*]Perso j'utiliserai plutôt la fonction glob() de PHP avec les accolades GLOB_BRACE[/*]
    [*]utiliser array_filter pour exclure les sous-dossiers qui ne vont pas[/*]
    [*]Ensuite parcourir le résultat dans une boucle avec un switch pour personnaliser le traitement selon le type de fichiers[/*]
    [*]Indiquer un dossier où récupérer les icônes en dehors du thème[/*]
    [*]utiliser une fonction récurrente pour parcourir les sous-dossiers[/*]
    [/list]

    Je ne comprends pas ta remarque sur index.html ou index.php. Tu ne mets pas les fichiers dans le dossier data ?

    Le point le plus compliqué est pour les epubs. Les gens s'attendent à trouver la couverture du bouquin et son résumé, voire les tags. Je l'ai déjà mais ce n'est pas simple.

    Bon courage
  • pour l'utilisation des index.html, c'est parce que c'est j'utilise des présentations en html et c'est pas utile d'aller plus loin. après, c'est pas le point le plus important.
    je ne pense pas qu'extraire les metadata soit indispensable (en tout cas pas pour moi) mais ça peut être une idée.
    oui, je pense que je fais commencer par un script pour une page statique.

    merci pour les détails, ça me permettra d'avancer un peu compte tenu de mon niveau médiocre pour écrire un bout de code.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Pas de souci.

    Pour les epubs, il faut savoir qu'en fait ce sont des archives zip. Fais une copie et renomme là avec une extension .zip pour récupérer la couverture et le résumé.

    Si tu cales, n'hésite pas à demander.
  • J'ai bricolé un petit peu pour un semblant de galerie. Pour le moment ça se limite à des fichiers .jpg, .png, .zip, .pdf et .epub mais ça reste plutot simple pour ajouter d'autres types de fichier.
    Pour afficher une miniature au lieu d'une icône, il faut ajouter dans le dossier un fichier terminant par .tb.png (même principe que pour la galerie pluxml)
    Possibilité d'afficher un message en haut et en bas de la galerie en ajoutant dans le dossier un fichier header.html et/ou footer.html
    Par contre, c'est pas ce qu'il y a de plus léger.

    Parmi les nombreux problèmes:
    * dans la liste des dossiers on retrouve les dossiers commençant pas un point ( .hiddenFolder par exemple)
    * je suis limité à un sous dossier
    * ...

    J'ai aussi un comportement bizarre pour le libellé d'un fichier, "À la découverte de l'écriture numérique.pdf", il affiche seulement "la découverte de l'écriture numérique". Idem avec le fichier "Élaboration et conversion de documents avec Markdown et Pandoc.epub". J'imagine que c'est un problème avec la fonction pathinfo() ?
    [== Indéfini ==]
    
    
    <?php 
    // Toutes les variables à modifier
    $directory= 'data/medias/partage/Images/'; // URL racine du dossier contenant les images  | ex: 'data/medias/partage/Images/'
    $urlPage= 'index.php?static3/test'; // URL de la page affichée
    
    // Icone : http://fa2png.io/
    $thumbZIP="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA9lBMVEUAAADznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBLznBIlbp6yAAAAUXRSTlMAAQIDBAUGCAkLDA4QERITFBUWFxgZICEiJicqKy4wOz5AQkNET1JUVlhiY2dpa21vcHR1eYWJi5qdpqiytLe5usPF0d7g4uTp6+/x8/X5+/1MhH61AAABdElEQVRIx83Wa1OCUBAG4IWkBLOoyJOR3exCFyuzMiu7WCkWlO///zN9QC4qyDLTNL2fDjPnGdjZPQAREUlFPT6aRHFZ6CEpH2dKDGhjSmxjEgymAbiTAoApR6IDUGXZBFB1AceIASJ6rQFQiAQAMhzAWckAPLE8BZQtS1QqFckHcWIEXAAtbzUEZDjA51IG4Ak9Cey1WnVN06LAE4vMogPRzWUAZLjAcRZAVcBOK7o0PiRqCiiMAz0FUIMF8rq+VqvVZCKiQkn4MRNBWPRI5N8DBSEU/5FYIFL0fwF3AIDnWS6YGTbplAvWh+CNC678OSgyge2DAx7Qg0nr8IAVzmaeBV5CsMMBc5Hpv+eAreh5yTHALfC1r8qKeACwwQBdYJuIiKQ+YDHAO1AnIiL1GzhkgAaA9m5589wBsMoAs3ZYc5PVB63j77/kdZrIvH51+08n88QFCfl7cCRSMvKqdMBLcAhvePt7wa9Nrsm4x+DR+yr+ALr9+fK9tyuUAAAAAElFTkSuQmCC";
    $thumbPDF="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAABPlBMVEUAAADnTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDznTDwlwXlSAAAAaXRSTlMAAQIDBAUICQsMDQ4PEBESExQVFhcYGhscHSAhJCUnKSosLTAxOTo7P0BDRkxNUVRVWFtfYmdrcXV4eXt+f4OIiYuPl52io6Wmra+0tbe6vL7Bw8fKztPX3N7g4uTo6evt7/Hz9ff5+/0NzpKzAAABj0lEQVRIx7XV11LCQACF4ZMQC2JDjS0W7L33CqhYsCB2FEVJlJz3fwEvUEZhE3cv/K/3m93Z2QIA0BrD4oIaRDVl6dXbapUAnNKnF7MSuH6ATqUgGdEri5CcdEjbFABLsFKLJEybtNsUQFG0KgCR8AcwbTLfogCKIqwAiqJZAcC0ySdDAcB0yGUVgEnyxRv0vqcAdJcfklpPEL+4CwKhchD2BJebCQPAujRI7+QCABDqtr6L+ILkPcuvmu4Ltn9sjxSYYV4NdPBKDRg8VAOdLASUwBo5oQRyj5lHTQH0cHGMcwrghHVIuS3SoJkJoNbONcqCXXYB6PpwRuRAkJcAgAEyubF3nIjNBv1BlBb0/pX015m+zdBt9wMNvO6LF94SS8NmdWirwMzqdGrKDxyxsD8aKi19aOfWOavyBjXjjOoQJAba/DPzoi/HAwSSZ1GOQBpo6atBHkAerNm92QdDHhju8f1rA+SBfsObeigAoBpQA/hPsGD90a+n0qZcpRsVkxufLb0LRlxiDve8+Ct+AjRSFJqAZTiRAAAAAElFTkSuQmCC";
    $thumbJPG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA8FBMVEUAAAAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmB/FIrUAAAAT3RSTlMAAQIEBQgJCgsMDRESExQVFhcYGR4fICEiIyUpKissLS4vMTdETVJUWFlcX2Jja3CAiYuRkpqwtLe5vsfX2tzg4uTm6Onr7e/x8/X3+fv9Ap4W8gAAAWFJREFUSMfd1tlSwjAUBuDDorKUqlVAEBQVF9xFQHEDtECLtP/7v40XJci0SZqMd/6X6fkmy5w2JSKiRN7kJ5sgXowRRJnepjngCZLYVhT4MoBZVACoJaMxAZxPANfigDJnpVkAacMB3G0NQNY34G5pACr5ESEHVAfgbGoAOgHgmBqAmgCcggagMwDDlAagGwDXOoDagK0Crk4XuQeQiQFr4a4yYwC96oL1x7d3lg8uqPaAfoNnKckDrWDmO1VQZGttKIIuA31FMF4ehyKwdUGH1ffYg5QcWAxUF+P7s135sTaD+tZiuOZjXpQCsjr2uMtq6j6AeUkKVnMQfN6YiAWHbEPenhJo/PaoV5GBjTwRER2tdrVXEYPMYGKE6wGvKgLZITAp0HH4VXsRgNwIAKaXUAS5T9EVIQBf0AT4B2BHGEOlW0P5M7gox6S2ClyoJc/Ag1r9aPlrk2orzOE/B7fiD5UtH4PphyxBAAAAAElFTkSuQmCC";
    $thumbPNG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA8FBMVEUAAAAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmB/FIrUAAAAT3RSTlMAAQIEBQgJCgsMDRESExQVFhcYGR4fICEiIyUpKissLS4vMTdETVJUWFlcX2Jja3CAiYuRkpqwtLe5vsfX2tzg4uTm6Onr7e/x8/X3+fv9Ap4W8gAAAWFJREFUSMfd1tlSwjAUBuDDorKUqlVAEBQVF9xFQHEDtECLtP/7v40XJci0SZqMd/6X6fkmy5w2JSKiRN7kJ5sgXowRRJnepjngCZLYVhT4MoBZVACoJaMxAZxPANfigDJnpVkAacMB3G0NQNY34G5pACr5ESEHVAfgbGoAOgHgmBqAmgCcggagMwDDlAagGwDXOoDagK0Crk4XuQeQiQFr4a4yYwC96oL1x7d3lg8uqPaAfoNnKckDrWDmO1VQZGttKIIuA31FMF4ehyKwdUGH1ffYg5QcWAxUF+P7s135sTaD+tZiuOZjXpQCsjr2uMtq6j6AeUkKVnMQfN6YiAWHbEPenhJo/PaoV5GBjTwRER2tdrVXEYPMYGKE6wGvKgLZITAp0HH4VXsRgNwIAKaXUAS5T9EVIQBf0AT4B2BHGEOlW0P5M7gox6S2ClyoJc/Ag1r9aPlrk2orzOE/B7fiD5UtH4PphyxBAAAAAElFTkSuQmCC";
    $thumbGIF="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA8FBMVEUAAAAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmAnrmB/FIrUAAAAT3RSTlMAAQIEBQgJCgsMDRESExQVFhcYGR4fICEiIyUpKissLS4vMTdETVJUWFlcX2Jja3CAiYuRkpqwtLe5vsfX2tzg4uTm6Onr7e/x8/X3+fv9Ap4W8gAAAWFJREFUSMfd1tlSwjAUBuDDorKUqlVAEBQVF9xFQHEDtECLtP/7v40XJci0SZqMd/6X6fkmy5w2JSKiRN7kJ5sgXowRRJnepjngCZLYVhT4MoBZVACoJaMxAZxPANfigDJnpVkAacMB3G0NQNY34G5pACr5ESEHVAfgbGoAOgHgmBqAmgCcggagMwDDlAagGwDXOoDagK0Crk4XuQeQiQFr4a4yYwC96oL1x7d3lg8uqPaAfoNnKckDrWDmO1VQZGttKIIuA31FMF4ehyKwdUGH1ffYg5QcWAxUF+P7s135sTaD+tZiuOZjXpQCsjr2uMtq6j6AeUkKVnMQfN6YiAWHbEPenhJo/PaoV5GBjTwRER2tdrVXEYPMYGKE6wGvKgLZITAp0HH4VXsRgNwIAKaXUAS5T9EVIQBf0AT4B2BHGEOlW0P5M7gox6S2ClyoJc/Ag1r9aPlrk2orzOE/B7fiD5UtH4PphyxBAAAAAElFTkSuQmCC";
    $thumbEPUB="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAABZVBMVEUAAAA0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs0mNs3wFLlAAAAdnRSTlMAAQIDBAUGBwgJCgwNDg8REhMUFxgZGh0fISIjJigpKistLi8xMzQ1Oz0+P0FHSUpLTk9QUVJUVldYWVtcYmNkZmdoaWtsbXFzd3+Cg4WIjpGSlZugoqOlqrK0tbe8wMfIys/V19nc3uDi5Obo6evt7/H3+fv9/nDzpQAAAblJREFUGBm9wfk/FHEAgOF3YhPaUKJ0UErpUjp0SVEoncqRDqVIKSHev7/dneHDbObbT56HnRU99dsv/2lttIZyD83wPUfa7jWz3CPtlpmmSKlcNtMbUsbMdo2tjhlQz1ZHjHXVptX/tGCelHZLPlAmWrZgEIjYZNiSLso0W3QIorl9bIgWLWknLXptwUoEeWfYcMJsL4BLup91H812CpjSZhI3DMhBTq0idtzE84G0CYveAqd1msRtY/2UabLoIvBSe0hcMZanzIBFeyFa0QYSo5as7iKt9rcFX4DDukCiYtVsvcCQDpPoNOAg8ENbSMyYbQlo0D8RsbMGPAF69BWxmhUDWoFp7SB21IC1CqhWc8TaDBgDzuk7EkMGdALj2kUsWjSgGirWNE+szYBpoFVnSXwwoAcY0T5ibYY0AMvaREnlggELQJMuE7tryCOgT0eIXTekEZjVVmJ3DJgG8moFsWcGtACXdYLEnJm+dlDwXs+TWNXefO02aiopyqnVJD5qHQFn9BPrruogAeN6k3WVS/q4LmJ7uftqPRtO+h8m2eSCQfN72Kzxs9kmq0hp6n4wsJ3+7gPsqL/g80NtvAbVaQAAAABJRU5ErkJggg==";
    
    // Récupérer le dossier à afficher
    $urlVar=preg_replace('/(^.*?)\?/', '', $urlPage."?id") ; //  variable à récupérer
    $urlGet=$urlPage."?id"; // URL pour la navigation
    $id = isset($_GET[$urlVar])? $directory.$_GET[$urlVar].'/' : $directory ; // on récupère l'ID 
    $currentDir = is_dir($id) ? $id : $directory; // Vérifier que l'ID correspond à un dossier
    
    $headerFile=$currentDir.'header.html';
    $footerFile=$currentDir.'footer.html';
    
    
    // Afficher le header
    if (file_exists( $headerFile  )) {    include $headerFile;}
    
    // fonction haveThumbnail
    function haveThumbnail($fileee,$defaultThumbnail) 
    {
    $fileInfo2=pathinfo($fileee);
    $defaultThumb=$defaultThumbnail;
    $thumbnailPath=$fileInfo2['dirname'].'/'.$fileInfo2['filename'].'.tb.'.$fileInfo2['extension'];
    $thumbnailPathPng=$fileInfo2['dirname'].'/'.$fileInfo2['filename'].'.tb.png';
    
    if (file_exists( $thumbnailPath  )) {    return $thumbnailPath;}
    elseif  (file_exists( $thumbnailPathPng  )) {    return $thumbnailPathPng;}
    else {return $defaultThumbnail;}// on affiche une miniature par défaut
    }
    
    foreach (glob($currentDir."*.{epub,gif,jpg,jpeg,pdf,png,zip}", GLOB_BRACE) as $filename) {
    	    
    $fileInfo=pathinfo($filename);
    $test=$fileInfo['filename'];
    $thumb=pathinfo($test);
    $ext=$fileInfo['extension'];
    $test2=$fileInfo['dirname'].'/'.$fileInfo['filename'].'.tb.'.$fileInfo['extension'];
    
    switch ($ext) {
        case 'epub':
    		echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'" ><img src="'. haveThumbnail($filename,$thumbEPUB) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a> '.$fileInfo['filename'].' <br />';
            break;
        case 'pdf':
    		echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'" ><img src="'. haveThumbnail($filename,$thumbPDF) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a> '.$fileInfo['filename'].' <br />';
            break;
        case 'zip':
    		echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'" ><img src="'. haveThumbnail($filename,$thumbZIP) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a> '.$fileInfo['filename'].' <br />';
            break;
        case 'jpg':
        case 'jpeg':
            if ($thumb['extension']=='tb'){ /* echo '<i class="fa fa-thumbs-up"></i>  ' . $fileInfo['basename'] . '<hr />'; */ }
    		else{ echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'"><img src="'. haveThumbnail($filename,$thumbJPG) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a>'; }
            break;
        case 'png':
            if ($thumb['extension']=='tb'){ /* echo '<i class="fa fa-thumbs-up"></i>  ' . $fileInfo['basename'] . '<hr />'; */ }
    		else{echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'" ><img src="'. haveThumbnail($filename,$thumbPNG) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a>';}
            break;
        case 'gif':
            if ($thumb['extension']=='tb'){ /* echo '<i class="fa fa-thumbs-up"></i>  ' . $fileInfo['basename'] . '<hr />'; */ }
    		else{echo '<a href="'.$filename.'" class="zoombox" title="'.$fileInfo['filename'].'" ><img src="'. haveThumbnail($filename,$thumbGIF) .'" alt="" style="max-width: 100px;max-height: 100px;" /></a>';}
            break;
    }
    }
    
    if (file_exists( $footerFile  )) {    include $footerFile;}
    
    
    
    
    
    // Fonction pour lister les dossiers
    $isSubDir=0; // Initialisation de la variable pour vérifier si on a des sous dossiers.
    if ( is_dir($currentDir) ) {
        if ($dh = opendir($currentDir)) {
            while (($file = readdir($dh)) !== false) {
    		if ($file != ".." && $file != "." &&  (is_dir($currentDir.$file))==true ){
    				$subdir[]=$file;
    				$isSubDir++;
    				}
            }
        closedir($dh);
        }
    }
    
    
    // Afficher les liens vers les autres galeries
    echo '<ul>';
    if ( $isSubDir > 0 && $currentDir == $directory ) {
    foreach ($subdir as $folder) {
    		if  (file_exists( $directory.$folder.'.tb.png'  )) {	if   (file_exists( $directory.$folder.'/index.html'  )){echo '<a href="'. $directory.$folder.'/index.html"><img alt="" src="'.$directory.$folder.'.tb.png" style="max-width: 100px;max-height: 100px;" /></a>';}
    																else {echo '<a href="'. $urlGet .'='. $folder .'"><img alt="" src="'.$directory.$folder.'.tb.png" width="48px"/></a>';}
    															}
    		else {echo '<li> <a href="'. $urlGet .'='. $folder .'">  ' . $folder . ' </a></li>';}
    		}
    }
    
    // Afficher un retour vers la galerie principale
    if ( $currentDir !== $directory ){	echo '<li>revenir à la  <a href="'. $urlPage .'">galerie principale</a> </li>'; }
    echo "</ul>";
    
    
    
    
    ?>
    
  • trentaneltrentanel Member
    février 2018 modifié
    Bonjour,
    Ayant le même besoin, je viens d'adapter ton script à l'affichage de fichiers de traces GPS au format gpx.
    Merci d'avoir partagé.
Connectez-vous ou Inscrivez-vous pour répondre.