30/04/2012, 10:32:56
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : OVH/MAMP
#~ Informations Système :
#~ OS : Mac Lion
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
je souhaite afficher le contenu d'un répertoire, pour le moment ça fonctionne mais j'aimerai "pousser" un peu plus loin, en effet pour le moment je l'utilise de la manière suivante : {fichiers}.
Code :
[== PHP ==]
/* 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/test//'.$elem.'"><img src="./uploads/telechargements/icones/'.$icon.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'"></a>
<a href="uploads/telechargements/test//'.$elem.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'">'.pathinfo($elem,PATHINFO_FILENAME).'</a>
</li><br/></div>';
}
echo'</div>';
Je voudrais améliorer le code pour lister les éléments d'un dossier passé en paramètre de la façon suivante : {fichiers name='test'}
Mais je n'y arrive il ne m'affiche rien pour le moment.
Code :
[== PHP ==]
$rep = "uploads/telechargements/";
$dir = getenv("DOCUMENT_ROOT").$rep.$params['name'];
$dh = opendir($dir);
$i=0;
while ( $file = readdir($dh) )
{
echo 'while 1';
// enleve les fichiers . et ..
if ($file != '.' && $file != '..')
{
echo 'data';
// on passe les datas dans un tableau
$ListFiles[$i]=$file;
$i++;
}
}
closedir($dh);
// tri par ordre decroissant
if(count($ListFiles)!=0)
{
if($list_tri == 'DESC')
{
rsort($ListFiles);
}
else
{
sort($ListFiles);
}
}
Même cette portion de code ne m'affiche rien.
Merci d'avance