Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2008, 08:22
abigor66
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años
Puntos: 8
Pregunta Como descargo archivos Microsoft de mi BD?

Buenos días gente del Under!
Tengo un código que me permite descargar archivos de la base de datos, el código funciona muy bien para txt y pdf, pero si quiero algun archivo que no se ejecute en el navegador le cambia la extención al archivo por php, es decir que el descarga bien el archivo pero le hace esa modificación por lo que al momento de guardar en el disco abria que especificar la extención del archivo y eso no está bien.

el código es el siguiente:

Base de datos
Código:
CREATE TABLE `prensa` (
  `id` int(11) NOT NULL auto_increment,
  `company` varchar(255) NOT NULL,
  `titulo` varchar(255) NOT NULL,
  `contenido` longblob NOT NULL,
  `nombre` varchar(255) NOT NULL,
  `tipo` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
prensa.html
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="reg.php" method="post" enctype="multipart/form-data">
<p>Archivo 
  <input type="file" name="archivo" id="archivo" />
</p>
<p>Compa&ntilde;&iacute;a 
  <input type="text" name="company" id="company" />
</p>
<p>Titulo 
  <input type="text" name="titulo" id="titulo" />
</p>
<p>
  <input type="submit" name="enviar" id="enviar" value="Submit" />
</p>
<p><a href="ver.php">Descargar &raquo;</a></p>
</form>
</body>
</html> 
reg.php
Código PHP:
<?php
header 
("Location: prensa.html");

include(
"connect.php");
conectar();

 
$archivo $_FILES["archivo"]["tmp_name"]; 
 
$tamanio $_FILES["archivo"]["size"];
 
$tipo    $_FILES["archivo"]["type"];
 
$nombre  $_FILES["archivo"]["name"];
 
$company $_POST["company"];
 
$titulo  $_POST["titulo"];

 if ( 
$archivo != "none" )
 {
    
$fp fopen($archivo"rb");
    
$contenido fread($fp$tamanio);
    
$contenido addslashes($contenido);
    
fclose($fp); 

    
$qry "INSERT INTO prensa VALUES 
            (0,'$company','$titulo','$contenido','$nombre','$tipo')"
;

    
mysql_query($qry);

    if(
mysql_affected_rows($conn) > 0)
       print 
"Se ha guardado el archivo en la base de datos.";
    else
       print 
"NO se ha podido guardar el archivo en la base de datos.";
 }
 else
    print 
"No se ha podido subir el archivo al servidor"
?>
connect.php
Código PHP:
<?php
function conectar()
{
    
mysql_connect("localhost""usuario""pass");
    
mysql_select_db("base_datos");
}

function 
desconectar()
{
    
mysql_close();
}
?>
ver.php
Código PHP:
<?
include("connect.php");
conectar();

$sql="SELECT * FROM prensa"
$result=mysql_query($sql);  

while(
$row=mysql_fetch_array($result)) 

echo 
"<div align='justified'>";
echo 
"<a href='descarga.php?id=$row[id]'>".$row[titulo]."</a><br><br>";
}
?>
descarga.php
Código PHP:
<?
include("connect.php");
conectar();
$id=$_GET['id'];
$sql="SELECT tipo, contenido FROM prensa WHERE id=$id"
$result=mysql_query($sql);
$tipo mysql_result($result0"tipo");
$contenido mysql_result($result0"contenido");

header("Content-type: $tipo");
print 
$contenido;

?>
que es lo que está mal???

gracias por su tiempo y espero me puedan ayudar