Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Balise utilisateur pour lister les éléments d'un répertoire
#3
Merci pour ta réponse, effectivement avec ton code ça passe mieux.

Pour mon deuxième exemple ça fonctionne, il liste bien les fichiers du répertoire que je passe en paramètre. Par contre quand je veux "l'adapter" à mon premier code...

Code :
[== PHP ==]
$config = cmsms()->getConfig();
$dir = $config['root_path']."/uploads/telechargements/".$params['name'];
$dh  = opendir($dir);

/* pas de moyen de trier directement les fichiers avec readdir(), il faut provisoirement stocker le résultat de readdir() dans un tableau */
while ($f = readdir($dh))
{    
   if(is_file($dh.$f))
       {
       $tab_dir[] = $f;
       }
}

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

/* Pour affichier un cadre */
echo '<div align="center" style="background-image: url(./fichiers/icone/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/LAPPUI72//'.$elem.'"><img src="fichiers/icone/'.$icon.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'"></a><a href="uploads/telechargements/LAPPUI72//'.$elem.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'">'.pathinfo($elem,PATHINFO_FILENAME).'</a></li><br/></div>';

}

echo'</div>';

J'ai donc deux soucis, à mon avis le premier ce situe ici :
Code :
[== PHP ==]
while ($f = readdir($dh))
{    
   if(is_file($dh.$f))
       {
       $tab_dir[] = $f;
       }
}
Je pense qu'il n'arrive pas à remplir le tableau.

Et ma deuxième question :
Code :
[== PHP ==]
echo '<div align="center" style="text-align:left; margin-left:50px;"><li style="list-style-type:none;"><a href="uploads/telechargements/LAPPUI72//'.$elem.'"><img src="fichiers/icone/'.$icon.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'"></a><a href="uploads/telechargements/LAPPUI72//'.$elem.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'">'.pathinfo($elem,PATHINFO_FILENAME).'</a></li><br/></div>';
Comment j'indique le lien du fichier ?
Cool


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)