Foros del Web » Programando para Internet » PHP »

Problema con upload y descarga de archivos

Estas en el tema de Problema con upload y descarga de archivos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/06/2017, 10:27
 
Fecha de Ingreso: enero-2009
Mensajes: 237
Antigüedad: 8 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` (
  `
idint(10unsigned NOT NULL auto_increment,
  `
archivo_binarioblob NOT NULL,
  `
archivo_nombrevarchar(255NOT NULL default '',
  `
archivo_pesovarchar(15NOT NULL default '',
  `
archivo_tipovarchar(25NOT NULL default '',
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=
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($res0"tipo");
$contenido mysql_result($res0"contenido");
$nombre mysql_result($res0"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
  #2 (permalink)  
Antiguo 19/06/2017, 11:43
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 783
Antigüedad: 5 años, 1 mes
Puntos: 92
Respuesta: Problema con upload y descarga de archivos

Creo que el problema debe ser que estás haciendo mal la consulta, si tu tabla es:
id, binario, nombre, peso tipo

Entonces esto

Código MySQL:
Ver original
  1. (0,'$nombre','$titulo','$contenido','$tipo')

debe ser

Código MySQL:
Ver original
  1. (0,'$contenido', '$nombre', '$tamanio', '$tipo')

No se que estás haciendo con ese "titulo"

Ademas ese 0 no debe ir ahí si la id es un AI no debes ingresarle un valor.

Ve si con esta consulta anda bien:

Código MySQL:
Ver original
  1. INSERT INTO archivo (archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('$contenido', '$nombre', '$tamanio', '$tipo')

Saludos
  #3 (permalink)  
Antiguo 19/06/2017, 13:04
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 625
Antigüedad: 11 años, 10 meses
Puntos: 53
Respuesta: Problema con upload y descarga de archivos

Seria bueno que nos indicaras que error te envia, para orientarnos mejor
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”



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