Foros del Web » Programando para Internet » PHP »

Código PHP para comunicar con BD Mysql

Estas en el tema de Código PHP para comunicar con BD Mysql en el foro de PHP en Foros del Web. Hola, buenos días. Mi pregunta dentro de mi ignorancia es: Tengo una codigo PHP, que enlaza a una BD mysql, en la que entre otros ...
  #1 (permalink)  
Antiguo 15/07/2010, 05:51
 
Fecha de Ingreso: julio-2010
Ubicación: Cerca Sitges (Barcelona)
Mensajes: 98
Antigüedad: 13 años, 9 meses
Puntos: 4
Código PHP para comunicar con BD Mysql

Hola, buenos días.
Mi pregunta dentro de mi ignorancia es:
Tengo una codigo PHP, que enlaza a una BD mysql, en la que entre otros campos tengo foto1, foto2, ...3,4,5.
"Foreando" en foros pude entender que si deseo subir imagenes a BD, es mejor subirla primero al servidor, y posteriormente pasar la ruta a la BD. (tema espacio?)
Despues de ... (muchos intentos) y noches, conseguí subir la imagen al servidor, ahora me quita el sueño, pasar la ruta ala (BD mysql).
-Mi tabla de BD contactos
-Los campos: idempleado, nombre usuario, y foto1, foto2, ...3,4,5
Me interesaría subir 5 fotos, aunque me conformo con una.
-Una segunda pregunta, ¿se puede cambiar el código:
$prefijo = substr(md5(uniqid(rand())),0,5); por fecha actual?


Mi codigo es.


Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <?php
  11. if (is_uploaded_file($_FILES['archivo']['tmp_name'])){
  12.     if($_FILES['archivo']['size'] < 200000) {
  13.         $tipo=$_FILES["archivo"]['type'];
  14.         if(strpos($tipo, "gif") || strpos($tipo, "jpeg") || strpos($tipo, "png")) {
  15.             $archivo = $_FILES["archivo"]['name'];
  16.             $prefijo = substr(md5(uniqid(rand())),0,5);
  17.             $destino = '../imagenes/'.$prefijo."_".$archivo;
  18.            
  19.             copy($_FILES['archivo']['tmp_name'], $destino);
  20.            
  21.             //Conecto con la bd
  22.             mysql_connect("localhost","??????","??????");
  23.             //selecciono la bd con la que voy a trabajar
  24.             mysql_select_db("contactos");
  25.             //Ejecuto de la sentencia SQL
  26.             $query_ins=mysql_query("INSERT INTO contactos (foto1) VALUES('$foto1')",$link);  
  27.            
  28.             echo "Archivo subido: <b>".$_FILES['archivo']['name']."</b>";
  29.         } else{
  30.             echo "Error: El archivo seleccionado no es una imagen o excede de 200kb";
  31.         }
  32.     }
  33. }
  34. ?>
  35.  
  36. <form method="post" enctype="multipart/form-data">
  37.     <label for="title">Nombre: <input name="title" type="text" id="title">
  38.   <input type="file" name="archivo"/>
  39.     <input type="submit" value="Enviar"/>
  40. </form>

Muchas gracias a todos los "foreros"
  #2 (permalink)  
Antiguo 15/07/2010, 05:58
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Código PHP para comunicar con BD Mysql

En este caso subir una imagen para tí, es añadir un registro más en la bbdd, como si fuera nombre o apellido... por ejemplo

campos: foto1 , foto2, foto3

contenido: asd_dsf.jpg , as8448.jpg, 34wsfsxc1.jpg

Luego en tu script te traes ese valor y lo muestras con un echo en el src de la imagen.

Yo opto por hacerlo de otra manera. Si la imagen es para un contacto, y este contacto tiene un id, renombro las imágenes con una id que pueda ser visible y por cada una que añade le concateno un numero, por ejemplo: id-1.jpg, id-2.jpg, etc

Un saludo y espero haberte ayudado!

Etiquetas: bd, mysql
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




La zona horaria es GMT -6. Ahora son las 15:40.