Que Es más recomendable guardar ruta o imagen en bd

Caballero tengo la siguiente pregunta que es más recomendable guardar la imagen en la BD o solamente la ruta y si guardo la ruta que es más recomendable guardar solo la carpeta deseada o poner toda la ruta
si es solo la carpeta se puede hacer de esta manera
mysql_query("insert into noticias(Imagen, id )
values('../images/$imagen','$id')",$db) or die("La clave introducida, ya existe. Elige otra");
Pero lo raro es que me manda las imágenes a la carpeta donde tengo la página con este código y no a la carpeta images que esta adentro de la carpeta de la página

1 respuesta

Respuesta
1
Decidir si guardar o no la imagen dentro de la DB, depende de la prioridad que manejes en tu desarrollo, si las imágenes son muy importantes para ti, pues guardalas en la base de datos y podrás incluso tener backups de ellas con solo resguardar la DB. Si no fuera el caso, o simplemente no quieres que tu Db sea de mucho tamaño, dejala en disco, y almacena la ruta. Sobre este ultimo lo más conveniente es no guardar la ruta absoluta de la imagen, y es preferible hacerlo relativa desde un punto que puedas establecer por paramerto (por si precisaras mudar las imágenes, no tener que modificar los datos de la DB), y guardar la ruta a partir de ese punto, por si quieres categorizar en carpetas
Osea.. si las imagenes las guardas en /home/app/imagenes/nomb_categoria/nombre_imagen.jpg
el parametro deberia contener /home/app/imagenes/
Y el registro en la DB, nomb_categoria/nombre_imagen.jpg.
Hasta acá mi recomendación sobre como guardarlo.
Ahora no me queda claro como es tu otro problema, por favor explícamelo mejor, y transcribe un poco más del código, así puedo ayudarte.
Muchas gracias caballero si bueno el problema es que yo en la página donde guardo la ruta hago esto
<?
$db=mysql_connect("localhost","root","yoyoyo",$db);
    mysql_select_db("path",$db);
$id=$_POST[id];
$imagen = $_FILES['imagen']['name'];
mysql_query("insert into noticias(Imagen , id )
values('http://localhost/php/Cargar%20Imagen/images/$imagen','$id')",$db) or die("La clave introducida, ya existe. Elige otra");
//ahora subamos la imagen, "directorio" es el directorio donde la vas a subir.
$copy = copy($_FILES['imagen']['tmp_name'], "" . $_FILES['imagen']['name']);
?>
Aquí le pido que guarde mis imágenes en la carpeta images pero me la guarda en la carpeta anterior que se llama Cargar Imagen y al momento de querer mostrarla me marca un tache saludos
Bueno veo 2 errores.
1. aqui $copy = copy($_FILES['imagen']['tmp_name'], "" . $_FILES['imagen']['name']);  no estas epecificando la carpeta donde quieres que se guarde, por ende la guarda en la carpeta de trabajo actual, aqui deberias poner algo asi
$copy = copy($_FILES['imagen']['tmp_name'], "/home/app/imagenes/" . $_FILES['imagen']['name']);
2. El segundo erro es incluir el nombre del dominio en la ruta, lo mejor es guardar desde las carpetas que se accederán y no gaurdar la parte del http://localhost/ por ej ya que cuando pongas esto en un dominio dejara de encontrar las iamgenes.
Pruébalo y me avisas como te va.
Ok gracias Caballero problema solucionado
values('/php/Cargar%20Imagen/images/$imagen','$id')",$db) or die("La clave introducida, ya existe. Elige otra");
$copy = copy($_FILES['imagen']['tmp_name'], "D:/AppServ/www/php/Cargar Imagen/images/" . $_FILES['imagen']['name']);
ya manda la imagen a la carpeta que le indico lo intente poner de la siguiente manera
$copy = copy($_FILES['imagen']['tmp_name'], "/php/Cargar Imagen/images/" . $_FILES['imagen']['name']);
Pero me marco error me pedía esta ruta D:/AppServ/www/php/Cargar Imagen/images/ la puse y ya me envío la imagen
también ya me mostró la imagen desde la ruta almacenada en la bd muchas gracias, ¿disculpe caballero otra pregunta es posible hacer una página en donde desde un o varios botón(es) de examinar se abra una imagen o varias imágenes y las muestre en la página y después hacer en lo que me ha ayudado anteriormente de enviarlas a un pdf?
Gracias y saludos
¿Disculpe caballero otra pregunta es posible hacer una página en donde desde un o varios botón(es) de examinar se abra una imagen o varias imágenes y las muestre en la página y después hacer en lo que me ha ayudado anteriormente de enviarlas a un pdf?
Gracias y saludos espero su respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas