Esta es mi duda, tras estudiar como subir imagenes a mi servidor, me he decidido por subirlas con un input type y el siguiente codigo cuando se hace el submit.
Para los que entienden esto, subo al servidor el fichero, pero a la bbdd SÓLO subo la ruta, ok?. Para mi es la mejor opción porque lo de los campos BLOB no encontré como hacerlos funcionar. Os pongo mi código.
Código:
La imagen sube perfectamente, pero el resto del formulario no, si quito de mi codigo la subida de imagenes, pues ya funciona, algo estoy poniendo mal en el UPDATE, pero no acabo de encontrarlo.<?php include ("conector.php"); $nameimagen = $_FILES['imagen']['name']; $tmpimagen = $_FILES['imagen']['tmp_name']; $extimagen = pathinfo($nameimagen); $ext = array("png","gif","jpg"); $urlnueva = "prensa/".$nameimagen; //$urlnueva = "prensa/".md5($name . time()).'.'.$extimagen['extension']; $namefile = $extimagen['basename']; $ssql = "UPDATE prensa set "; $ssql .= "titulo='" .$_POST["titulo"] . "', "; $ssql .= "descripcion='" .$_POST["descripcion"] . "', "; $ssql .= "fecha='" .$_POST["fecha"] . "', "; $ssql .= "imagen='" . $namefile ."' "; $ssql .= "where id_prensa=" . $_POST["id"]; if(is_uploaded_file($tmpimagen)){ if(array_search($extimagen['extension'],$ext)){ copy($tmpimagen,$urlnueva); echo "Se ha guardado correctamente."; if(mysql_query($ssql,$conexion)){ echo "Se ha guardado en la BBDD OK"; }else{ echo "No se ha podido guardar."; echo mysql_error($ssql); echo $namefile; } }else{ echo "Error: Sólo imágenes con formato (jpg, png o gif)"; } }else{ echo "Elija una imagen"; } mysql_close($conexion); ?> <br> <a href="update-con-seleccion-de-cliente.php">Volver a seleccionar otro cliente.</a>
Otro problema que me encuentro y no entiendo tampoco, es que sólo me permite subir JPG.
Espero que alguien sepa que es :)
Gracias por vuestro tiempo