Subir archivo a blob en MySQL
Publicado por Gonzo (1 intervención) el 04/10/2011 20:53:27
Buenas,
Llevo unas cuantas horas comiéndome la cabeza intentando lo siguiente.
Tengo un formulario donde el usuario puede subir archivos a una tabla. El archivo es tipo MEDIUMBLOB. La base de datos es MySQL y trabajo con PHP.
Creo que el problema reside al transformar el archivo en formato mediumblob.
Os paso el código.
Luego tengo una funcion que hace la consulta
miClase::setObraCreador($file_data,7,'IMAGEN',$userfile_type);
La consulta es :
$Sql = "INSERT INTO cr_obras_creador
(id_creador,tipo_archivo,archivo,tipo_mime)
VALUES ($creador,'IMAGEN','".$archivo."','$mime')";
$archivo es el $file_data y $mime es el $userfile_type, éste ultimo me lo pone bien.
El archivo se guarda en la base de datos pero no se abre, es como si se hubiera dejado algo por el camino.
¿Qué puede faltarme? ¿Qué falla? Ando desesperado ya con este tema.
PD: Utilizo un framework llamado Yii. Poco recomendable, por cierto.
Llevo unas cuantas horas comiéndome la cabeza intentando lo siguiente.
Tengo un formulario donde el usuario puede subir archivos a una tabla. El archivo es tipo MEDIUMBLOB. La base de datos es MySQL y trabajo con PHP.
Creo que el problema reside al transformar el archivo en formato mediumblob.
Os paso el código.
1
2
3
4
5
6
7
8
$userfile_name = $_FILES['CrCreador']['name']['imagen'];
$userfile_tmp = $_FILES['CrCreador']['tmp_name']['imagen'];
$userfile_size = $_FILES['CrCreador']['size']['imagen'];
$userfile_type = $_FILES['CrCreador']['type']['imagen'];
$userfile_error = $_FILES['CrCreador']['error']['imagen'];
$file_data = base64_encode((@fread(fopen($userfile_tmp, 'rb'), filesize($userfile_tmp))));
$file_data = addslashes($file_data);
Luego tengo una funcion que hace la consulta
miClase::setObraCreador($file_data,7,'IMAGEN',$userfile_type);
La consulta es :
$Sql = "INSERT INTO cr_obras_creador
(id_creador,tipo_archivo,archivo,tipo_mime)
VALUES ($creador,'IMAGEN','".$archivo."','$mime')";
$archivo es el $file_data y $mime es el $userfile_type, éste ultimo me lo pone bien.
El archivo se guarda en la base de datos pero no se abre, es como si se hubiera dejado algo por el camino.
¿Qué puede faltarme? ¿Qué falla? Ando desesperado ya con este tema.
PD: Utilizo un framework llamado Yii. Poco recomendable, por cierto.
Valora esta pregunta


0