Affichier ce que contient un repertoire et faire un lien vers les fichier corespondant

Contenu du snippet

Salut se code a ete pris d'un site et modifier par moi(correction de toute les erreur)
Se script permet d'afficher ce que contient un repertoire.Tres utile pour faire des site de telechargement..Si vous avez un site et ke vous desirez un cette page en php coupler wml demandez moi ici :)

Source / Exemple :


//////-------------- index.php -------------\\\\\\\\

<?php

function listeFileTri ($path,$inf,$tri)
{
    $Array = array();
    $nbFichier = 0;

    if ($dir = @opendir($path))
    {
        while($file = readdir($dir))
        {
            if ($file !="." && $file != "index.php")
            {
                if (is_file($path."/".$file))
                {
                    $Array[] = "$file";
                    $nbFichier++;
                }
            }
        }
    }
    closedir($dir);

    if ($nbFichier!=0)
    {
        $num = 1;
        $cfg_num = 5;//Nombre de chiffres dans la barre de navigation
        $nbpp = 10;//nombre de résultats par "page"
        if (!isset($inf)) $inf = 0;// var. pour la navigation dans le répertoire
        $sup = $inf + $nbpp;

        print ("&nbsp;Il y a $nbFichier fichiers");
        print ("$path<br><br>\n");

        if($tri == 'DESC')
        {
            rsort($Array); 
        }
        else
        { 
            sort($Array); 
        } 

        $Max = count($Array);

        for($i = 0; $i <$Max; $i++)
        {
            if (($num>$inf)&&($num<=$sup))
            {
		echo '&nbsp; -&nbsp;<a href="'.$Array[$i].'">'.$Array[$i].'</a><br/>';
            }
            $num++;
        } 

        print ("<br>\n");

 
        if ($inf >= ($cfg_num * $nbpp))
        {
            $compteur_fin = ($inf / $nbpp) + 1;
            $compteur_deb = $compteur_fin - $cfg_num + 1;
        }
        else
        {
            $compteur_deb = 1;
            $compteur_fin = (int)($nbFichier / $nbpp);

            if (($nbFichier % $nbpp) != 0)
            { 
                $compteur_fin++;
            }

            if  ($compteur_fin > $cfg_num)
            {
                $compteur_fin = $cfg_num;
            }
        }

        for ($compteur = $compteur_deb; $compteur <= $compteur_fin; $compteur++)
        {
            if ($compteur == ($inf / $nbpp) + 1)
            {
                $barre .= "<font> <b>".$compteur."</b> </font>";
            }
            else
            {
                $barre .= " <A HREF='test.php?inf=";
                $barre .= (($compteur-1)*$nbpp);
                $barre .= "'>".$compteur."</A> ";
            }
        }
        print ("[$barre]\n");
        print ("<br>\n");

        if ($inf >= $nbpp) 
        {
            // Début
            echo "<A HREF='index.php?inf=" . (0) .  "'><<</A> ";
            // Précédent
            echo "<A HREF='index.php?inf=".($inf-$nbpp)."'><</A>";
        }
        else
        {
            // Début sans lien
            echo "<< ";
            //        echo "|";
            // Précédent sans lien
            echo "<";
        }
        print (" - ");

          if ($inf + $nbpp < $nbFichier) 
        {
            // Suivant
            echo "<A HREF='index.php?inf=".($inf+$nbpp)."'>></a></A> ";

            // Fin
            $pos = ($nbFichier - ($nbFichier % $nbpp));
            if (($nbFichier % $nbpp) == 0) $pos = $pos - $nbpp;
            echo "<A HREF='index.php?inf=" . ($pos) . "'>>></A>";
        }
        else
        {
            // Suivant
            echo "> ";

            // Fin
            $pos = ($nbFichier - ($nbFichier % $nbpp));
            if (($nbFichier % $nbpp) == 0) $pos = $pos - $nbpp;
            echo ">>";
        }
        print ("<br>\n");
    }
    else
    {
        print ("Il n'y a pas de fichiers dans le répertoire <b>$path</b>\n");
    }
}

// paramètre  ($tri) : "ASC" ou "DESC" (A-Z ou Z-A) --> ASC par défaut

listeFileTri(".",$inf,$tri);

?>

Conclusion :


J'attend vos nombreux commentaire ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.