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?