mire, este es el codigo que uso para listar los archivos y que me aparexca un link a la carpeta donde esta el archivo, sin pasar por un archivo para su descarga,
Código PHP:
$conexion = mysql_connect('localhost','user','9999)or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: .mysql_error());
$_pagi_sql = "SELECT id, name, description, ruta, tipo, size FROM archivos";
$_pagi_result = mysql_query($_pagi_sql , $conexion) or die ( mysql_error() );
//Sentencia sql (sin limit)
//$_pagi_sql = mysql_result($res);
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 2;//Elegí un número pequeño para que se generen varias páginas
//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces = 3;//Elegí un número pequeño para que se note el resultado
//Decidimos si queremos que se muesten los errores de mysql
$_pagi_mostrar_errores = false;//recomendado true sólo en tiempo de desarrollo.
//Si tenemos una consulta compleja que hace que el Paginator no funcione correctamente,
//realizamos el conteo alternativo.
$_pagi_conteo_alternativo = true;//recomendado false.
//Supongamos que sólo nos interesa propagar estas dos variables
$_pagi_propagar = array("id","termino");//No importa si son POST o GET
//Definimos qué estilo CSS se utilizará para los enlaces de paginación.
//El estilo debe estar definido previamente
$_pagi_nav_estilo = "paginacion";
//definimos qué irá en el enlace a la página anterior
$_pagi_nav_anterior = "<";// podría ir un tag <img> o lo que sea
//definimos qué irá en el enlace a la página siguiente
$_pagi_nav_siguiente = ">";// podría ir un tag <img> o lo que sea
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
echo "<table width=70%><tr bgcolor= #61e877><div align=center>";
echo "<b>Titulo: </b>";
echo $row[name];
echo "</div></tr>";
echo"<tr> </tr>";
echo "<tr bgcolor= #cccccc><b> Descripcion: </b><br>";
echo $row[description];
echo "</tr>";
echo"<tr bgcolor= #cccccc > </tr>";
echo "<tr bgcolor= #cccccc><b> Tamaño: </b>";
echo $row[size]." Bytes";
echo "</tr>";
echo"<tr bgcolor= #cccccc> </tr>";
echo "<tr bgcolor= #cccccc><div align=center><a href=archivos/$row[ruta]>Descargar</a></div>";
echo "</tr>";
echo"<tr bgcolor= #cccccc> </tr>";
echo "</table>" ;
}
echo "<table width=50%><tr bgcolor= #61e877><div align=center>";
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
echo "</div></tr>";
echo"<tr> </tr>";
//Incluimos la información de la página actual
echo"<tr><div align=center><p>Resultados ".$_pagi_info."</p></div>";
echo "</tr>";
echo "</table>" ;
y en esta linea es donde muestro el enlace DESCARGAR que tiene una ruta almacenada en la DB,
echo "<tr bgcolor= #cccccc><div align=center><a href=archivos/$row[ruta]>Descargar</a></div>";
como complementaria yo, para que ahora pase a u8n archivo para forzar si descarga,
el script mas omenos lo tengo, pero no lo uso y es:
Código PHP:
<?
mysql_connect('localhost','user','9999)or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$id = $_GET['id];
$qry = "SELECT ruta, tipo FROM archivos";
$res = mysql_query($qry) or die( "Error en Query: $qry, error: " . mysql_error() );
$row = mysql_fetch_row( $res );
$tipo = $row["tipo"];
$ruta = $row["ruta"];
header( "Content-Disposition: attachment; filename=".$row[ruta]."");
header( "Content-type: application/octet-stream" );
print $contenido;
Gracias.