Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2012, 10:31
chubse
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Descargar archivo de campo tipo BLOB de MySQLcon php

Que tal amigos, un cordial saludo a todos ustedes y agradeciendo su ayuda.
Tengo el siguiente problema:
quiero descargar los archivos que he adjuntado en un campo de tipo BLOB de una tabla en MySQL. Desde una tabla en php pinto un array con todos los archivos que el usuario va agregando y la idea es que al seleccionar uno de ellos se descargue, ya sea cualquier tipo como de word, excel, imágenes, pdf, etc. Sin embargo me descarga siempre el mismo archivo (el primero) y sin extensión.

¿Cómo podría hacer para que dependiendo el archivo que desee descargar lo haga y me lo mande con su extensión correspondiente?

Gracias y saludos

Código links de archivos
Código PHP:
<?php


$result 
mysql_query("SELECT * FROM ml_dat_ARCHIVO WHERE EMAIL_PROF='$mail' ");

echo 
"<table width='765' border='2' align='left'>


echo "
<tr>";

echo "
<td><b>Título</b></td>";

echo "
<td><b>Nombre</b></td>";

echo "
<td><b>Descripción</b></td>";

echo "
</tr>";

while ($row = mysql_fetch_row($result)){

echo "
<trn";

echo "
<td>$row[2]</tdn";

echo "
<td><a href='DESCARGAR_ARCHIVOS.php ID_ARCHIVO=".$row[ID_ARCHIVO]."'>".$row[3]."</tdn";

echo "
<td>$row[4]</tdn";

echo "
</trn";

}

echo "
</tablen";

?>

Código descarga archivo
Código PHP:
<?php
$conexion
=mysql_connect("localhost","------------","----------------------");
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}
$db=mysql_select_db("-------------------",$conexion);
if (!
$db) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}
session_start();
 
$extensiones = array("application/msword"=>"doc","application/pdf"=>"pdf","image/jpeg"=>"jpg""application/rar"=>"rar""application/excel"=>"xls""application/plain"=>"txt""application/vnd.ms-powerpoint"=>"ppt");
$mail$_SESSION[usuario];

$res mysql_query("SELECT * FROM ml_dat_ARCHIVO WHERE EMAIL_PROF='$mail' ");

$tipo mysql_result($res0"TIPO");
$contenido mysql_result($res0"CONTENIDO");
$nombre mysql_result($res0"TITULO");

header("Content-type:'".$tipo."'");
header('Content-disposition: attachment; filename="'.$nombre.'.'.$extensiones[$tipo].'"'); 
echo 
$contenido
 
mysql_close();
?>