Foros del Web » Programando para Internet » PHP »

Problemas al subir archivos .exe en un formulario

Estas en el tema de Problemas al subir archivos .exe en un formulario en el foro de PHP en Foros del Web. Hola a todos. Mi problema es el siguiente: Tengo un formulario que me permite subir ciertos archivos a una base de datos mysql. No tengo ...
  #1 (permalink)  
Antiguo 21/11/2007, 12:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Sonrisa Problemas al subir archivos .exe en un formulario

Hola a todos. Mi problema es el siguiente:

Tengo un formulario que me permite subir ciertos archivos a una base de datos mysql.

No tengo ningún problema en subir cualquier archivo excepto en los .exe.

Cualquier archivo .exe que intento subir me falla.

No debe ser cosa del tamaño ya que en el fichero php.ini lo he configurado para que admita ficheros de tamaño hasta 50MB aunque los archivos que estoy intentado subir son de 530KB.

; Maximum allowed size for uploaded files.
upload_max_filesize = 50M


Es que hay algun modo seguro que evita subir .exe a una base de datos y hay que modficarlo en el php.ini????


A ver si alguien me orienta un poco que ando perdido.


Saludos.
  #2 (permalink)  
Antiguo 21/11/2007, 12:27
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Re: Problemas al subir archivos .exe en un formulario

Acabo de subir un .exe de 15kB y si que me ha dejado.

Entonces porque no me deja con .exe de 500KB si en la configuración del php.ini tengo puesto que se pueda subir archivos de hasta 50MB???

O es que esa 'M' del fichero php.ini no indica MB????

;Maximum allowed size for uploaded files.
upload_max_filesize = 50M
  #3 (permalink)  
Antiguo 21/11/2007, 12:56
 
Fecha de Ingreso: noviembre-2007
Ubicación: Córdoba
Mensajes: 70
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Problemas al subir archivos .exe en un formulario

Hola.

Si ese archivo lo estás metiendo directamente en la base de datos (y hablo desde el desconocimiento en la materia), ¿el campo de la tabla tiene suficientemente espacio asignado para albergar archivos de mas de X bytes? Ayudaría bastante que pongas tu script.

Saludos.
  #4 (permalink)  
Antiguo 21/11/2007, 13:13
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Re: Problemas al subir archivos .exe en un formulario

Gracias por responder.

Pues el tipo de dato en la base de datos mysql que alberga este fichero es "mediumblob".

Según he leido en internet:

MediumBlob : permite almacenar un texto con un máximo de 16.777.215 caracteres.

La verdad que ese dato no me dice mucho. Si supongo que un caracter ocupa un byte y sabiendo que un mega son 1024 kbytes, obtengo que un campo mediumblob me permite unos 16Kbytes de capacidad. Esto explicaría que me permita subir ficheros de 15Kb y no de 500Kb


Nose si habrá otros tipos de datos que permitan mayor capacidad de almacenamiento????
  #5 (permalink)  
Antiguo 21/11/2007, 13:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas al subir archivos .exe en un formulario

Puedes cambiar tu campo por un LARGE BLOB.

Saludos.
  #6 (permalink)  
Antiguo 21/11/2007, 13:45
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Re: Problemas al subir archivos .exe en un formulario

Cita:
Iniciado por GatorV Ver Mensaje
Puedes cambiar tu campo por un LARGE BLOB.

Saludos.

Ese tipo de dato no me aparece en mi version Mysql 5.0.45.

He probado con los tipos blob y LongBlob que si me aparecen pero con ambos tipos cuando intento subir digamos en un mismo registro dos archivos de 500KB obtengo el error:



Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 2068790 bytes) in C:\AppServ\www\phpMyAdmin\tbl_replace.php on line 262


Nose si es que no es posible subir ficheros de ese tamaño.....
  #7 (permalink)  
Antiguo 21/11/2007, 15:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas al subir archivos .exe en un formulario

Si te aparece ese error es que el tamaño que tiene asignado el script es muy poco, debes de subir el tamaño de memoria que puede consumir el script, por defecto creo son 8 MB, pero todo depende de tu instalación de PHP.

Saludos.
  #8 (permalink)  
Antiguo 21/11/2007, 17:31
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Re: Problemas al subir archivos .exe en un formulario

Cita:
Iniciado por GatorV Ver Mensaje
Si te aparece ese error es que el tamaño que tiene asignado el script es muy poco, debes de subir el tamaño de memoria que puede consumir el script, por defecto creo son 8 MB, pero todo depende de tu instalación de PHP.

Saludos.

Muchas gracias por responder. He subido la memoria a 50M:

memory_limit = 50M


Y ahora cuando añado un registro "a mano" utilizando la aplicacion phpmyadmin y añado los dos ficheros .exe que ocupan cada uno de ellos 500Kb me sale el error:


MySQL ha dicho: Documentación
#2006 - MySQL server has gone away


Cuál es el problema??


PD: Para aportar mas datos indicar que si en vez de rellenar un registro entero de "golpe", primero añado un fichero y luego añado el otro entonces no me sale el error y se me añade bien.

Será cuestión de que sobrepasa algún tiempo máximo que tiene mysql de inserción o algo asi cuando añado los dos ficheros a la vez??? Aunque la verdad no me tarda prácticamente nada en darme el error, vamos, que no se me queda colgado media hora intentando insertar el nuevo registro, lo cuál me haría sospechar que el volumen de datos es elevado....

Última edición por aeb_asturias; 21/11/2007 a las 17:39
  #9 (permalink)  
Antiguo 21/11/2007, 17:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas al subir archivos .exe en un formulario

Puede ser que el trafico en el tiempo de respuesta sea muy corto y por eso se cierra la conexion al servidor.

Saludos.

PD. No se si haz leido pero no es recomendable almacenar archivos directamente en la base de datos, es mejor leerlos desde el sistema de archivos.
  #10 (permalink)  
Antiguo 21/11/2007, 17:50
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años
Puntos: 7
Re: Problemas al subir archivos .exe en un formulario

Cita:
Iniciado por GatorV Ver Mensaje
Puede ser que el trafico en el tiempo de respuesta sea muy corto y por eso se cierra la conexion al servidor.

Saludos.

PD. No se si haz leido pero no es recomendable almacenar archivos directamente en la base de datos, es mejor leerlos desde el sistema de archivos.

Debido a que estoy trabajando con un sistema distribuido un poco complejo me resulta mas cómodo almacenar los ejecutables directamente en la Base de datos. Y como son pocos ficheros pues globalmente no suponen un gran volumen de información. En otro caso guardaría la ruta en la que se encuentran como bien dices.

En cuanto a lo que comentas sobre si puede ser que el trafico en el tiempo de respuesta sea muy corto y por eso se cierra la conexión, la verdad que no entiendo muy bien lo que significa. Y en caso de que eso fuera, nose si se puede solucionar modificando algún parametro del servidor.


Saludos y de nuevo gracias por responder.
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 23:14.