Bueno... vamos a ver si te puedo ayudar...
yo para listar los documentos de un directorio utilizo el siguiente script (creado por mí)
Código PHP:
<table border="1" bordercolor="000000" cellspacing=0 align="center" width="100%">
<tr><th>Visor de Documentos</th></tr>
<?php
$host = $_SERVER['HTTP_HOST'];
$dirr=opendir('.');
$carpetas = array("1","2");
$i = 0;
while ($file=readdir($dirr)) {
if ($file != '..' && $file != '.' && $file != 'index.php' && $file != 'LISTADO INTERNOS.pdf'){
if (is_dir($file)) {
$carpetas[$i] = $file;
$i++;
}
}
}
closedir($dirr);
$j=0;
while($j < $i){
$dirr=opendir($carpetas[$j]);
//0037B4
echo "<tr><td bgcolor='#CCCCCC'><font color='#000000' size='3'><B>".$carpetas[$j]."</B></font></td></tr>";
while(false !== ($file = readdir($dirr))){
if ($file != '..' && $file != '.' && $file != 'index.php' && $file != 'LISTADO INTERNOS CPTCC 20051220.pdf'){
if (!is_dir($file)) {
echo "<tr><td><a href='".$carpetas[$j]."/$file' target='_BLANK'>$file</a></td></tr>";
}
}
}
closedir($dirr);
$j++;
}
function size_archivo($file) {
$size = filesize($file);
$sizes = Array('Bytes', 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb');
$ext = $sizes[0];
for ($i=1; (($i < count($sizes)) && ($size >= 1024)); $i++) {
$size = $size / 1024;
$ext = $sizes[$i];
}
return round($size, 2)." ".$ext;
}
?>
</table>
Este script lee el directorio y almacena el nombre de los subdirectorios en un array, para despues recorrerlo, leer y listar el contenido de los mismos...
se me ocurre que podria solamente usar el que te lee el contenido ... osea los archivos ...los guardas en un array .. y despues a la hora de mostrar los link... preguntas si existe el archivo con el nombre id.pdf ( donde ID estaria relacionado con el registro ....) si no existe no mostras ... y si existiera ... lo mostras ...
quizas que en unos minutos llegue CLUSTER y te proponga a tu scritp una funcion que simplemente compruebe el link .. ya que esa seria la forma correcta, este es mi modo. Este script que te muestro yo lo hize para listar el contenido de una carpeta ... en una palabra lo podrias reutilizar. Espero que te ayude ...
hasta luego !!!