Page 1 sur 1

Liste des fichiers d'un répertoire

Posté : 29 avr. 2012, 23:07
par PeJi
Bonsoir,

je vous explique mon problème :
/* repertoire du dossier */
$rep = "uploads/telechargements/test/";
$dir = opendir($rep);

while ($f = readdir($dir)) 
{	
   if(is_file($rep.$f)) 
	   {
	   $tab_dir[] = $f;
	   }
}

/* on trie le tableau obtenu */
natcasesort($tab_dir);

echo '<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px solid #FFFFFF ; border-right:1px solid #FFFFFF ; border-bottom:1px solid #FFFFFF ; border-top:1px solid #FFFFFF; height:72px; margin-top:-78px;">';

echo '<ul style="line-height:0px;">';

/* on affiche chaque element */
foreach($tab_dir as $elem) 
{

if (preg_match("#.pdf$#", $elem)) {
    $icon="Pdf.png";
} elseif (preg_match("#.xlsx$#", $elem)) {
    $icon="Excel.png";
} elseif (preg_match("#.xls$#", $elem)) {
    $icon="Excel.png"; 
} elseif (preg_match("#.docx$#", $elem)) {
    $icon="Word.png";  
} elseif (preg_match("#.doc$#", $elem)) {
    $icon="Word.png";  
} elseif (preg_match("#.pptx$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.ppt$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.ppsx$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.pps$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.zip$#", $elem)) {
    $icon="Zip.png";
}else {
    $icon="inconnu.png";
}

echo '<div align="center" style="text-align:left; margin-left:50px;">
<li style="list-style-type:none;">
<a href="uploads/telechargements/CSAPA//'.$elem.'"><img src="./uploads/telechargements/icones/'.$icon.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'"></a>
</td>  <td style="vertical-align:middle;"><a href="uploads/telechargements/CSAPA//'.$elem.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'">'.pathinfo($elem,PATHINFO_FILENAME).'</a>
</li><br/></div>';

}

echo'</div>';
Ce code marche bien, il m'affiche bien la liste des fichiers et l’icône. Pour l'utiliser dans ma page je fais juste appelle de la manière suivante : {fichiers} (j'utilise CMSMS).
Mais j'aimerais transformer mon code de façon à ce qu'il m'affiche les fichiers d'un dossier que je lui donne en paramètre : {fichiers name='test'}
$rep = "uploads/telechargements/";
$dir = getenv("DOCUMENT_ROOT").$rep.$params['name'];
$dh  = opendir($dir);
Est-ce possible ?

Merci

Re: Liste des fichiers d'un répertoire

Posté : 30 avr. 2012, 09:46
par moogli
Salut,

Sûrement, il faut que tu vois avec ton cms si tu peux le faire et comment il le passe (GET, post, ajout dans une variable globale etc etc).

@+

Re: Liste des fichiers d'un répertoire

Posté : 30 avr. 2012, 15:03
par PeJi
C'était bien une question avec mon CMS, merci pour ton aide. J'ai du modifié quelques lignes mais tout fonctionne :wink:

Si certains veulent le code pas de soucis.