
31/01/2006, 00:58
|
 | | | Fecha de Ingreso: julio-2004
Mensajes: 33
Antigüedad: 20 años, 8 meses Puntos: 0 | |
Hola hermano Mira a mi me sucedio lo mismo con el ejemploq ue teacabod e mandar, al darle guardar a un archivo me aparecia la ventana de guardar con el nombre del archivo .php, esto es algo bien facild e solucionar, mira,te lo explico mas detallado:
/**Primero establecemos la conexion con la abse de datos y usamos or die("cualquier mensaje") esto con la finalidad de testear(debuggear) nuestro programita y detectar errores. . .**/
$conexion=mysql_connect("localhost","usuario","pas sword") or die ("no se ha podido conectar a la BD");
/**Ahora seleccionamos la base de datos a la que nos queremos conectar **/
mysql_select_db("nombre_de_la_base") or die ("no se ha podido seleccionar la BD");
/**Asignamos a una variable $sql una cadena que contiene el query que nos traiga los datos que necesitamos de la base de datos**/
$sql = "SELECT binario_contenido,binario_tipo,binario_nombre FROM $categoria WHERE id='".$_GET['id']."'";
/**Ejecutamos la consulta**/
$consulta = mysql_query($sql,$conexion);
/**Ahora hacemos un barrido de los datos que ya trajo nuestro query y los mostramos en pantalla, asigandole a cada campo una variable **/
//Este barrido trae los datos que contiene el campo binario_contenido
$datos = mysql_result($consulta,0,"binario_contenido");
//Este barrido trae los datos que contiene el campo binario_tipo
$tipo = mysql_result($consulta,0,"binario_tipo");
/**Este barrido trae los datos que contiene el campo binario_nombre ,"OJO", este dato es el que nos permitira darle el nombre que contiene en la base de datos el archivo binarioq ue estamos descargando **/
$nombre = mysql_result($consulta,0,"binario_nombre");
/**Esta cabecera forzara la descarga para indicarle al navegador que debe hacer, si abrirlo en el navegador o mandar la ventanita de guardar como**/
header("Content-type: $tipo");
/**Estas son las cabeceras MIME y nos ayudaran a darle el nombre real que contiene el registro en la abse de datos a cada archivo insertado**/
header("Content-Disposition: attachment; filename=$nombre");
/**Por ultimo imprimimos los datos**/
echo $datos;
Ojala te sirva, ya estas muy cerca no esta tan complicado, salu2 |