bueno primero, estas cometiendo una barbaridad.... o varias!
NO puedes definir una función, en este caso
ico() dentro de un while, por favor... sacala de ahí y colócala al inicio del script...
segundo, como jpg, doc, txt
NO son constantes, usa comillas...
Código PHP:
if ($ext == 'jpg') // ...
tercero, debes usar las formas
<?php completas... ya que por eso, te sale este error!!!
cuarto, como
ico() es una función no se ejecuta dentro de un string!!!
Código PHP:
echo "ico($ext) <a href='.$sub/$file'>$file</a><br />"; // MAL
echo ico($ext) . "<a href='.$sub/$file'>$file</a><br />"; // OK ... !!! xD
y por ultimo, yo usaría una mejor técnica... y en lugar de
echo usar
return para mas flexibilidad
Código PHP:
function ico($ext)
{
$set = array(
'jpeg' => 'img/jpg.gif',
'jpg' => 'img/jpg.gif',
'doc' => 'img/doc.gif'
);
return isset($set[$ext])? $set[$ext]: 'img/no-file.gif';
}
// u otra mas sencilla...
function ico($ext)
{
return "img/$ext.gif";
}
echo '<img src="' . ico('foo') . '"/>';
mira este aporte, ahí viene un explorador de archivos...
http://www.forosdelweb.com/f18/aport...uladas-662159/