Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/01/2006, 00:58
Avatar de Developmex
Developmex
 
Fecha de Ingreso: julio-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
De acuerdo 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