Originariamente inviato da Grino
Con la funzione pathinfo() recuperi estensione e nome senza estensione

con filesize() recuperi la dimensioned del file

Per le immaginette ti consiglio di creare un array del tipo
Codice PHP:
$immfile=array('PDF'=>'../img/pdf.png','DOC'=>'../img/doc.png',...); 
ovvero mappare le estensioni di modo che, insieme all'estensione che recuperi con la prima funzione, applicata una strtoupper(), ottieni l'indice per l'array che ti fornisce il percorso all'immagine da visualizzare ovverosia

Codice PHP:
//$pathInfoResult contiene il risultato della chiamata a pathinfo()
$ext=  strtoupper($pathInfoResult['extension']);
if(isset(
$immfile[$ext]))
    echo 
"<img src=\"{$immfile[$ext]}\"/>";
else
    echo 
'[img]../img/genericicon.png[/img]'
Scusami, grazie per l'aiuto prima di tutto.
Ho riadattato i tuoi suggerimenti per cambiare l'immagine a seconda del file in questo modo:
Codice PHP:
<?php 
$directory 
"dir" ;
$immfile=array('PDF'=>'../img/file_type/pdf.png','DOC'=>'../img/file_type/doc.png');
function 
dir_list($directory FALSE) { 
  
$dirs= array(); 
  
$files = array(); 
  if (
$handle opendir("./" $directory)) { 
    while (
$file readdir($handle)) { 
      if (
is_dir("./{$directory}/{$file}")) { 
        if (
$file != "." $file != ".."$dirs[] = $file
      } else { 
        if (
$file != "." $file != ".."$files[] = $file
     } 
  } 

closedir($handle); 
reset($dirs); 
sort($dirs); 
reset($dirs); 
reset($files); 
sort($files); 
reset($files); 
echo 
"\n

"

while(list(
$key$value) = each($files)) { 
// qui puoi fare l'operazione su "$directory.$value", p.es.: 

  
echo " <table border='0' cellpadding='0' id='tab_file'> 
  <tr>"
;
$ext=  strtoupper ('extension'); 
  if(isset(
$immfile[$ext])) 
    echo 
"<td width='5%'>
  <img src=\"
{$immfile[$ext]}\"/>
  </td> "

else 
   
"<td width='5%'>[img]../img/file.png[/img]</td>";
   
 echo
"
  <td width='65%'>
{$value}</td>
  <td width='15%'> [url='
{$directory}{$value}\']Download[/url]</td>
  <td width='15%'>[url='elimina.php?file=../
{$directory}/{$value}']Elimina[/url]  
  </td> 
  </tr>
  </table>\n"
; } echo "</p>\n"; } dir_list("/dir/"); 
?>
ma non visualizza nessuna immagine, dove sto sbagliando?