Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2017, 09:27
hollowmanf
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 17 años, 10 meses
Puntos: 1
Problema con upload y descarga de archivos

Hola buenos dias, tengo un problema con un script de upload y descarga de archivos, el mismo lo sube pero me tira error al hacer la descarga del mismo.

dejo mis archivos:

DB:
Código PHP:
-- Estructura de tabla para la tabla `archivos`
--

CREATE TABLE IF NOT EXISTS `archivos` (
  `
id` int(10) unsigned NOT NULL auto_increment,
  `
archivo_binario` blob NOT NULL,
  `
archivo_nombre` varchar(255) NOT NULL default '',
  `
archivo_peso` varchar(15) NOT NULL default '',
  `
archivo_tipo` varchar(25) NOT NULL default '',
  
PRIMARY KEY  (`id`)
) 
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 
Formulario:

Código PHP:
<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:

Código PHP:
 <?php 
$conn 
= mysql_connect("localhost","",""); 
mysql_select_db("");

$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 archivo 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";
?>
Listar archivos:

Código PHP:
 <?php 
$conn 
= mysql_connect("localhost","",""); 
mysql_select_db("");

$qry = "SELECT id, nombre, titulo, tipo FROM archivo";
$res = mysql_query($qry);

while(
$fila = mysql_fetch_array($res))
{
print 
"$fila[titulo]
<br>
$fila[nombre] ($fila[tipo])
<br>
<a href='descargar_archivo.php?id=$fila[id]'>Descargar</a>
<br>
<br>"
;
}
?>
Descarga de Archivos:

Código PHP:
 <?
$conn 
= mysql_connect("localhost","",""); 
mysql_select_db("_com_ar_db");

$extenciones = array("application/msword"=>"doc","application/pdf"=>"pdf","image/jpeg"=>"jpg", "application/rar"=>"rar");
$id = $_GET['id']; 
$qry = "SELECT tipo, contenido, nombre FROM archivo 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");
 
header('Content-disposition: attachment; filename="'.$nombre.'.'.$extenciones[$type].'"'); 
 echo 
$contenido; 
?>
Alguien podria darme una mano con esto, se los agradeceria.

Salu2