Foros del Web » Programando para Internet » PHP »

descargar archivos de BD MySQL

Estas en el tema de descargar archivos de BD MySQL en el foro de PHP en Foros del Web. Cita: Iniciado por GatorV Prueba este código: Código PHP: mysql_connect ( 'localhost' , 'user' , '9999' )or die ( 'Ha fallado la conexión: ' . mysql_error ()); mysql_select_db ( 'registro' )or die ( ...

  #31 (permalink)  
Antiguo 17/07/2008, 10:24
 
Fecha de Ingreso: mayo-2007
Mensajes: 23
Antigüedad: 17 años
Puntos: 0
Respuesta: Re: descargar archivos de BD MySQL

Cita:
Iniciado por GatorV Ver Mensaje
Prueba este código:
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 titulo, tipo, contenido FROM archivos WHERE id=$id";
$res mysql_query($qry) or die( "Error en Query: $qry, error: " mysql_error() );
$row mysql_fetch_row$res );
$tipo $row["tipo"];
$contenido $row["contenido"];
$titulo $row['titulo'];

header"Content-Disposition: attachment; filename=".$titulo."");
header"Content-type: application/octet-stream" );

print 
$contenido
Saludos.


hola:
este codigo siempre me habia funcionado, pero ahora funciona bien cuando lo ensayo offline pero en la web no muestra nada
  #32 (permalink)  
Antiguo 17/07/2008, 10:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: descargar archivos de BD MySQL

Toma el codigo donde te decia que ya los headers se habian enviado, usa ese y pon esto al principio de tu sitio web (EN LA LINEA 1)

Cita:
<?php
ob_start();
?>
Y este al final:

Cita:
<?
ob_flush();
?>
  #33 (permalink)  
Antiguo 17/07/2008, 11:34
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
De acuerdo Prueba con esta opcion

Si te es util, ahi va...actualmente inserta a mi bd y los descargar a la perfeccion:

1. INSERTARBLOB.PHP
-----------------------------
<?php
$postback = (isset($_POST["enviar"])) ? true : false;
if($postback){
error_reporting(E_ALL);

define("DBHOST", "localhost");
define("DBNAME", "hoberwilly_es_db");
define("DBUSER", "root");
define("DBPASSWORD", "");

$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");

$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];

if(!in_array($type, $mimetypes))
die("El archivo que subiste no es una imagen válida");

$fp = fopen($tmp_name, "rb");
$tfoto = fread($fp, filesize($tmp_name));
$tfoto = addslashes($tfoto);
fclose($fp);

@unlink($tmp_name);

$nombre = $_POST["nombre"];
$descripcion = $_POST["descripcion"];

$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$sql = "INSERT INTO catalogo(idAdmin,producto,descripcion,foto,mime) VALUES ('".$PHP_AUTH_USER."','$nombre','$descripcion','$t foto','$type')";
mysql_query($sql, $link) or die(mysql_error($link));

echo "<h2>Foto guardada correctamente en la base de datos</h2>";

}

?>
<html>
<head></head>
<body>
<a href="formularioBlob.php">Seguir ingresando</a>
<?php exit(); ?>
</body>
</html>

2. VERBLOB.PHP
----------------------
<?php
error_reporting(E_ALL);

define("DBHOST", "localhost");
define("DBNAME", "hoberwilly_es_db");
define("DBUSER", "root");
define("DBPASSWORD", "");

$idfoto = (isset($_GET["id"])) ? $_GET["id"] : exit();
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;
switch($tam) {
case "1":
$campo = "foto";break;;
default:
$campo = "foto";break;;
}

$sql = "SELECT $campo, mime FROM catalogo WHERE id = $idfoto";
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos = mysql_fetch_array($conn);

$imagen = $datos[0];
$mime = $datos[1];
header("Content-Type: $mime");
echo $imagen;
?>

Me comunicas como te fué...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:56.