Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas para grabar un texto largo

Estas en el tema de Problemas para grabar un texto largo en el foro de Bases de Datos General en Foros del Web. Hola gente, tengo un problema extraño con un sistema que estoy desarrollando a ver si me dan una mano: Resumo lo que quiero hacer: Un ...
  #1 (permalink)  
Antiguo 07/11/2003, 13:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 11 meses
Puntos: 6
Problemas para grabar un texto largo

Hola gente, tengo un problema extraño con un sistema que estoy desarrollando a ver si me dan una mano:

Resumo lo que quiero hacer: Un formulario donde hay una caja de texto donde el usuario puede escribir un texto largo, luego este se guarda en un campo de una base de datos MySQL tipo longtext. Hasta ahí todo bien, he probado pegar textos extensos y funciona correctamente.

Pero se me ocurrio evitarle el trabajo incluso de copiar y pegar, y que pueda seleccionar un archivo de tipo texto plano (.txt) o podria ser html (.htm) tambien, y grabar en el campo de la base de datos directamente el contenido de dicho archivo. Y aquí es donde tengo problemas. Cuando selecciono archivos de mas de 400 bytes, MySQL no los graba...

Estas son las líneas que estoy usando para leer el contenido del archivo:

$ptro=fopen($archivo_importado, "r");
$texto=fread($ptro, filesize($archivo_importado));
fclose($ptro);

Cuando quiero grabar $texto en el campo longtext de MySQL recibo error.
Pero con archivos de menos de 400 bytes si graba. Los archivos "grandes" que me fallan en realidad no son tan grandes: 4000 bytes.
Si hago echo $texto, el contenido del archivo está perfecto, y lo peor de todo: Si edito el archivo copio el contenido y lo pego en la caja de texto, MySQL lo graba perfecto, y eso que uso la misma variable: $texto...

Perdon si fui muy extenso, pero es que el problema que tengo es dificil de explicar, espero me den una mano, desde ya, muchas gracias.

Tomás.
  #2 (permalink)  
Antiguo 07/11/2003, 14:22
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
si funciona cortando y pegando entonces el problema es que lo lees en binario con fread(), prueba usar fgets() y concatena cada linea leida en una variable, la cual despues guardas.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 07/11/2003, 17:33
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 11 meses
Puntos: 6
Hecho. Lamentablmente obtengo los mismo resultados. Con un archivo de más de 400 bytes no me permite grabar.

He probado con todos los tipos de datos de MySQL y lo único que logro es empeorar...

Ahora una pregunta ¿de qué manera podría saber exactamente cuáles son las diferencias entre dos variables string?
Por que si comparo $texto, cuando leo el contenido directamente del archivo con $texto cuando el usuario pega el contenido en el textarea, tal vez podría darme cuenta cuál es la direfencia entre un método y otro.

Desde ya muchas gracias,

Tomás.
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 10:22.