Foros del Web » Programando para Internet » PHP »

subir imagen y guardar ruta en BD

Estas en el tema de subir imagen y guardar ruta en BD en el foro de PHP en Foros del Web. Hola me he dado vuelta con el buscador de aqui en el foro y en google pero no puedo encontrar un ejemplo VALIDO (todos me ...
  #1 (permalink)  
Antiguo 28/11/2007, 18:53
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
subir imagen y guardar ruta en BD

Hola

me he dado vuelta con el buscador de aqui en el foro y en google pero no puedo encontrar un ejemplo VALIDO (todos me salen con errores) para poder subir una fotografia o imagen a una carpeta y guardar la ruta en la base de datos, para poder mostrarla con ID

bueno ojala que sea pàra multiples imagenes

gracia
s

alguein que em de un ejemplo
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #2 (permalink)  
Antiguo 28/11/2007, 19:11
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: subir imagen y guardar ruta en BD

Tienes el codigo para subir la imagen?

Un saludo,
  #3 (permalink)  
Antiguo 28/11/2007, 19:20
Avatar de liebe13  
Fecha de Ingreso: octubre-2006
Ubicación: peru
Mensajes: 224
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: subir imagen y guardar ruta en BD

oe man mira solo busca lo q es codigo para copiar archivos eso es lo pirncipal de ahi sale todo y bueno ahi ya trabajas con la bd
  #4 (permalink)  
Antiguo 28/11/2007, 21:17
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

encontre este codigooo en este mismo foro (ufff revise todos los post)

pero no tengo la base de datos que podria usar

Código PHP:
<?php
if(isset($submit)){
if (
is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisar que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
//nuevo nombre para la imagen
$nuevoNombre time().".jpg";
//mover la imagen
move_uploaded_file($_FILES['imagen']['tmp_name'], "../../img_productos/webcams/$nuevoNombre");
//obtener la inforamción
$data GetImageSize("../../img_productos/webcams/$nuevoNombre");

/*Inserto el nombre dentro de la Base de datos*/
/*=======================================*/
mysql_query("INSERT INTO tu_tabla (id, ruta) VALUES ('1',$nuevoNombre)  ");
/*===============================================*/
//mensaje de éxito
echo "<img src='../../img_productos/webcams/$nuevoNombre' $data[3]> <br> imagen $nuevoNombre subida con éxito";
}else{
echo 
"Formato no válido para fichero de imagen";
}
} else {
echo 
"Error al cargar imagen: " $_FILES['imagen']['name'];
}
}
?>

<form enctype="multipart/form-data" action="<? echo $PHP_SELF;?>" method="post">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Subir esta imagen:</p>
<p>
<input name="imagen" type="file" size="100">
</p>
<p>
<input type="submit" name='submit' value="Subir Web Cams">
</p>
</form>

pensaba en poner esta estructura pero el nombre de la variable de la base de datos no se como seria

iba a poner esto pero se que debo modificar variables

Cita:
CREATE TABLE `fotos` (
`id` int(11) NOT NULL auto_increment,
`foto` text collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=12 ;
podrian ayudarme con lo de la base de datos
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #5 (permalink)  
Antiguo 28/11/2007, 22:04
 
Fecha de Ingreso: junio-2006
Mensajes: 270
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

Pero las bases de datos se crean con phpmyadmin!!! Hacerlo a pelo es una locura! Te metes en phpmyadmin, y vas poniendo el tipo de cada una, si unsigned o no, si not nulll o null, si... Andar escribiendo todo eso es una locura. Lo que si tienes que escribir son los comandos sql de insertar, select...
Y la cosa es ver codigo para saber como van las cosas. No adaptes tus cosas a ese codigo, adapta ese codigo a tus cosas. Si necesitas 4 campos, pues creas la tabla para 4 caampos, y lo que modificas es el codigo ese que has posteado donde sea necesario.
Yo te copiaria el mio, pero es mucho mas grande que ese. Hace bastantes comprobaciones, pero el funcionamiento es el mismo en todos. Tu recibes un fichero por post del html que es copiado en un fichero temporal. Lo que tienes que hacer es moverlo a donde tu quieras (si no lo haces, se borrará el archivo porque para eso es una carpeta temporal). Haces un move_uploaded_file y listo...
  #6 (permalink)  
Antiguo 29/11/2007, 01:49
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

gracias darze0x

bueno si yo se adpatar cosas y me hice la base de datos
el codigo me sube a la carpeta el fichero o imagen pero lo que no hace es guardar la ruta en la base de datos (una creada por mi en phpmyadmin)

me da este error

Cita:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\porfin2\subir.php on line 15

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\AppServ\www\porfin2\subir.php on line 15
y la linea 15 es esta

Cita:
mysql_query("INSERT INTO imagenes (id, imagen) VALUES ('1',$nuevoNombre) ");
creo que le falta algo al codigo php que di antes...


bueno si puedes darme tu codigo para verlo como funciona estaria agradecido

ya que necesito uno funcionando para poder modificarlo y ahcer lo que yo quiero


Cita:
CREATE TABLE `imagenes` (
`ID` INT( 11 ) NOT NULL AUTO_INCREMENT,
`imagen` TEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = MYISAM ;
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #7 (permalink)  
Antiguo 29/11/2007, 16:29
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: subir imagen y guardar ruta en BD

Claro, te falta conectarte...

Checa las funciones mysql_connect() y mysql_select_db()...

Código PHP:
mysql_connect('servidor','usuario','password') or die('<b>Error conectando al servidor MySQL:</b><br />'.mysql_error());
mysql_select_db('base_de_datos') or die('<b>Error seleccionando la base de datos:</b><br />'.mysql_error()); 
Los datos de conexion te los debe proveer tu proveedor de hosting.

Un saludo,
  #8 (permalink)  
Antiguo 29/11/2007, 17:16
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

jeje yo sabia que me faltaba la coneccion , gracias,

bueno ahora no me tira errores, sube la imagen a la carpeta (carpeta local con appserv) pero no me guarda la ruta en la base de datos

el codigo quedo como sigue

Código PHP:
<?php

if(isset($submit)){
if (
is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisar que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
//nuevo nombre para la imagen
$nuevoNombre time().".jpg";
//mover la imagen
move_uploaded_file($_FILES['imagen']['tmp_name'], "imagenes/$nuevoNombre");
//obtener la inforamción
$data GetImageSize("imagenes/$nuevoNombre");

/*Inserto el nombre dentro de la Base de datos*/
/*=======================================*/

mysql_connect('localhost','usuario','*********') or die('<b>Error conectando al servidor MySQL:</b><br />'.mysql_error());
mysql_select_db('porfin2') or die('<b>Error seleccionando la base de datos:</b><br />'.mysql_error()); 

mysql_query("INSERT INTO imagenes (id, imagen) VALUES ('1',$nuevoNombre)  ");
/*===============================================*/
//mensaje de éxito
echo "<img src='imagenes/$nuevoNombre' $data[3]> <br> imagen $nuevoNombre subida con éxito";
}else{
echo 
"Formato no válido para fichero de imagen";
}
} else {
echo 
"Error al cargar imagen: " $_FILES['imagen']['name'];
}
}
?>
me gustaria tambie saber como modificar eeste codigo para poder subir 5 imagenes utilizando 5 campos upload con el boton examinar

que lineas se deben copiar cambiando su nombre??

bueno para poder subir otro tipo de imagenes como gif y png que linea debo modificar o poner

esta?? como quedaria el codigo

Código PHP:
($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){ 
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por MARKWEB; 29/11/2007 a las 17:32
  #9 (permalink)  
Antiguo 29/11/2007, 17:41
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: subir imagen y guardar ruta en BD

Cita:
Iniciado por MARKWEB
[...]
bueno ahora no me tira errores, sube la imagen a la carpeta (carpeta local con appserv) pero no me guarda la ruta en la base de datos
[...]
Código PHP:
mysql_query("INSERT INTO imagenes (id, imagen) VALUES ('1','imagenes/$nuevoNombre')"); 
Un saludo,
  #10 (permalink)  
Antiguo 30/11/2007, 01:48
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

muchas gracias tocayo

ahora espero que me guien en lo demas

:S
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #11 (permalink)  
Antiguo 30/11/2007, 19:11
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: subir imagen y guardar ruta en BD

y... qué es lo demás?

Un saludo,
  #12 (permalink)  
Antiguo 30/11/2007, 20:54
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: subir imagen y guardar ruta en BD

lo demas seria poder ahcer que ese codigo php puede duplicar para 5 fotos que se puedan subir

obviamente en la base de datos cada foto con su variable

y poder poner mas tipos de iamgenes como png gif etc
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:53.