Formulario XHTML:
Código:
crearNuevaPublicacion.php<form class = "Formulario" enctype="multipart/form-data" action = "crearNuevaPublicacion.php" method = "POST"> <table> <tr><td>DOI (Identificador de Objeto Único): </td><td><input name = "DOI" type = "text" /></td></tr> <tr><td>Título: </td><td><input name = "titulo" type = "text" /></td></tr> <tr><td>Autor (es): </td><td><input name = "autores" type = "text" /></td></tr> <tr><td>(*) Resumen: </td><td><input name = "resumen" type = "text" /></td></tr> <tr><td>Palabras Clave: </td><td><input name = "palabras_clave" type = "text" /></td></tr> <tr><td>(**) CDU (Clasificación Decimal Universal): </td><td><input name = "CDU" type = "text" /></td></tr> <tr><td>Idioma: </td><td><input name = "idioma" type = "text" /></td></tr> <tr><td>ISSN: </td><td><input name = "ISSN" type = "text" /></td></tr> <tr><td>Fichero: </td><td><input name = "fichero" type = "file" /></td></tr> <tr><td><input type = "radio" name = "eleccion" value = "1" /> Publicar</td></tr> <tr><td><input type = "radio" name = "eleccion" value = "0" /> Guardar como borrador</td></tr> <tr><td><input type = "submit" value = "Añadir a BAE" /></td></tr> <tr><td colspan = "2"><hr /></td></tr> <tr><td colspan = "2">(*) Campos no obligatorios.</td</tr> </table> </form>
Código:
insertarPublicacion():...... // Recogemos los datos del formulario. $doi = $_POST['DOI']; $titulo = $_POST['titulo']; $autores = $_POST['autores']; $resumen = $_POST['resumen']; $palabras_clave = $_POST['palabras_clave']; $cdu = $_POST['CDU']; $idioma = $_POST['idioma']; $issn = $_POST['ISSN']; // Preparamos los datos del fichero. $tamanyo = (($_FILES['fichero']['size']/1048576)); // $fichero = addslashes(file_get_contents($_FILES['fichero']['tmp_name'])); $fichero = addslashes(file_get_contents($_FILES['fichero']['tmp_name'])); $fecha_insercion = date("Y-m-d", time()); $contenido_valido = $_POST['eleccion']; $idNombre = $_SESSION['nombreUsuario']; $idClave = $_SESSION['claveUsuario']; ..... // Insertamos la nueva publicación en la Base de Datos (eleccion = 1 -> pública: eleccion = 0 -> borrador). insertarPublicacion ($doi, $titulo, $autores, $resumen, $palabras_clave, $cdu, $idioma, $tamanyo, $contenido_valido, $fecha_insercion, $issn, $fichero, $idNombre, $idClave, $eleccion); .....
Código:
El tema es que todo lo hace bien excepto almacenar el pdf en la BBDD. El tipo del campo el "longblob" y el fihcero que intento cargar ocupa 1,10 MB, es decir, no excede el tamaño permitido en el fihcero de configuración de mySQL. He mostrado las variables por pantalla y las muestra correctamente. Es decir, DOI = 00.0000/0000, titulo = Título del pdf,...., fichero = %PDF - .........056%%EOF,...). Así que, supongo que algo se me está escapando....¿Alguien podría decirme el qué? He estado mirando tutoriales y no encuientro el error, incluso utilizando phpMyAdmin he introducido los datos a mano y copiado la consulta sustituyendo las variables, pero nada. Me sería de gran ayuda que alguien me hechase una manita. Muchas gracias!! ...... $conexion = conectar (); $resultado = mysql_query ("INSERT INTO publicaciones (DOI, titulo, autores, resumen, palabras_clave, CDU, idioma, tamanyo, contenido_valido, fecha_insercion, ISSN, fichero, nombre_usuario, clave_usuario) VALUES ('" . $doi . "','" . $titulo . "','" . $autores . "','" . $resumen . "','" . $palabras_clave . "','" . $cdu . "','" . $idioma . "','" . $tamanyo . "','" . $contenido_valido . "','" . $fecha_insercion . "','" . $issn . "','" . $fichero . "','" . $idNombre . "','" . $idClave . "');"); cerrar ($conexion); .....