
Descargar archivos desde base de datos
Publicado por luis (7 intervenciones) el 21/10/2014 21:41:48
Hola tengo una aplicación en php para subir archivos y luego descargarlos. Me funciona todo bien menos la descarga , les enseño el código por partes.
*Form
*guardar_archivo.php
*Luego listar_archivos.php , donde muestra los archivos que hay en la DB y un link para descargarlos.
*y por ultimo descarga_archivo.php , el cual no me funciona. Al darle click a Descargar me envia a descarga_archivo.php con la página en blanco y no se descarga nada.
Alguien me podría ayudar
*Form
1
2
3
4
5
<form enctype="multipart/form-data" action="guardar_archivo.php" method="post">
Descripción <input type="text" name="titulo" size="30">
Ubicación <input type="file" name="archivito">
<input type="submit" value="Enviar archivo">
</form>
*guardar_archivo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("upload");
$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];
if ( $archivo != "none" )
{
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$qry = "INSERT INTO archivos VALUES (0,'$nombre','$titulo','$contenido','$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";
?>
*Luego listar_archivos.php , donde muestra los archivos que hay en la DB y un link para descargarlos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("upload");
$qry = "SELECT id, nombre, titulo, tipo FROM archivos";
$res = mysql_query($qry);
while($fila = mysql_fetch_array($res))
{
print "$fila[titulo]
<br>
$fila[nombre] ($fila[tipo])
<br>
<a href='descarga_archivo.php?id=$fila[id]'>Descargar</a>
<br>
<br>";
}
?>
*y por ultimo descarga_archivo.php , el cual no me funciona. Al darle click a Descargar me envia a descarga_archivo.php con la página en blanco y no se descarga nada.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$conn = mysql_connect("localhost","root","");
mysql_select_db("upload");
$id = $_GET['id'];
$qry = "SELECT tipo, contenido, nombre FROM archivos WHERE id=$id";
$res = mysql_query($qry);
$tipo = mysql_result($res, 0, "tipo");
$contenido = mysql_result($res, 0, "contenido");
$nombre = mysql_result($res, 0, "nombre");
header("Content-type: $tipo");
echo $contenido;
?>
Alguien me podría ayudar
Valora esta pregunta


0