[4.3.1] Modifications de la page statique Télécharger du Wiki

Bonjour,

J'ai essayé d'installer la page statique de téléchargement inscrite dans le wiki mais j'ai un petit soucis.
Mes fichiers à télécharger sont rangés dans des sous répertoires et la modification du wiki ne permet pas la récursivité dans les sous répertoires.

Comment faire pour qu'il parcours tout les sous répertoires du dossier "data/documents" et que l'affichage dans la page statique soit lié :
data/documents
   |- folder1
      |- file1
      |- file2
      |- file3
   |- folder2
      |- file1
      |- file2
Affichage dans la page :
- folder1
- file1
- file2
- file3
- folder2
- file1
- file2

Réponses

  • Squale76Squale76 Member
    février 2010 modifié
    pour ceux que cela intérresse, je pense qu'il y a des améliorations à faire mais ça marche. Manque plus qu'à mettre en forme avec le css...
    <?php
    $rep = "data/documents/";
    $Nbtab += 3;
    
    function ScanDirectory($Directory, $tab)
    {
    	$MyDirectory = opendir($Directory) or die('Erreur');
    	while($Entry = @readdir($MyDirectory))
    	{
    		if (is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..')
    		{
    			Affichage_Dir($Entry, $tab);
    			ScanDirectory($Directory.'/'.$Entry, $tab+1);
    			Tab($tab);
    			echo '</ul>';
    			SautLigne();
    		}
    		elseif ($Entry != '.' && $Entry != '..')
    		{
    			$file = $Directory.'/'.$Entry;
    			$size = ceil(filesize($file)/1024);
    			Affichage_File($Entry, $size, $tab);
    		}
    	}
      closedir($MyDirectory);
    }
    
    function SautLigne()
    {
    	echo "\r\n";
    }
    
    function Tab($Niv)
    {
    	for($i=1; $i<=($Niv); $i++)
    	{
                echo "\t";
            }
    }
    
    function Affichage_File($NameFile, $SizeFile, $level=0)
    {
    	Tab($level);
    	echo '<li class="fichier"><a href="./?telechargement/'.plxEncrypt::encryptId($NameFile).'">'.$NameFile.'</a> ('.$SizeFile.'Ko)</li>';
    	SautLigne();
    }
    
    function Affichage_Dir($NameFolder, $level=0)
    {
    	Tab($level);
    	echo '<ul class="repertoire">'.$NameFolder;
    	SautLigne();
    }
    
    SautLigne();
    Tab($Nbtab);
    echo '<ul class="telechargement">';
    SautLigne();
    ScanDirectory($rep,$Nbtab+1);
    Tab($Nbtab);
    echo '</ul>';
    SautLigne();
    ?>
    
    La function Tab($Niv) permet d'indenter proprement le code html (c'est plus facile à lire...).
  • bien joué :)
  • vi , j'aime bien aussi les petites fonction pour l'indentation , c'est"clean" :)


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

Connectez-vous ou Inscrivez-vous pour répondre.