Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar ruta de imagen en mysql

Estas en el tema de Guardar ruta de imagen en mysql en el foro de PHP en Foros del Web. Hola a todos, Tengo este código para subir imágenes @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <? $con = require_once ( 'Connections/OfertaTuristica.php' ) ; if ( ...
  #1 (permalink)  
Antiguo 03/03/2013, 18:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 11 años, 6 meses
Puntos: 1
Guardar ruta de imagen en mysql

Hola a todos,

Tengo este código para subir imágenes

Código PHP:
Ver original
  1. <?
  2. $con = require_once('Connections/OfertaTuristica.php');
  3. if($_POST){
  4. // Creamos la cadena aletoria
  5. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  6. $cad = "";
  7. for($i=0;$i<12;$i++) {
  8. $cad .= substr($str,rand(0,62),1);
  9. }
  10. // Fin de la creacion de la cadena aletoria
  11. $tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero
  12. $tamaño_max="50000000000"; // Tamaño maximo permitido
  13. if( $tamano < $tamaño_max){ // Comprovamos el tamaño
  14. $destino = 'uploads' ; // Carpeta donde se guardata
  15. $sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/
  16. $tipo=$sep[1]; // Optenemos el tipo de imagen que es
  17. if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp" || $tipo == "jpeg" || $tipo == "png"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen
  18. move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$cad.'.'.$tipo);  // Subimos el archivo
  19. include('post.html'); // Incluimos la plantilla
  20. }
  21. else echo "El tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos
  22. }
  23. else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos
  24. }
  25. if($tipo == "pjpeg"){
  26. $tipo='jpeg';
  27. }  
  28.  
  29. ?>

Con este formulario

Código HTML:
Ver original
  1. <form action="sube.php" method="post" enctype="multipart/form-data" onsubmit="document.getElementById('elDiv').innerHT ML = '<img src=\'Images/BarraProgreso.gif\' />'">
  2.   <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  3.     <tr>
  4.       <td bgcolor="#FFFFFF"><table width="500" border="0" align="center" cellpadding="5" cellspacing="3">
  5.         <tr>
  6.           <td width="70" height="30" class="recordset">Archivo:</td>
  7.           <td width="284" colspan="2"><input name="file" type="file"  onchange="ver(form.file.value)" size="35" /></td>
  8.         </tr>
  9.         <tr>
  10.           <td height="30">&nbsp;</td>
  11.           <td width="50"><input name="submit" type="submit" value="Subír " /></td>
  12.           <td width="500"><div id="elDiv"></div></td>
  13.         </tr>
  14.       </table></td>
  15.     </tr>
  16.   </table>
  17. </form>

Pero quisiera saber como tendría que agregar la linea de código para poder guardar la ruta de dicha imagen en mi base de datos

intente con algo como esto

Código PHP:
Ver original
  1. $sql = "con, INSERT INTO images (imagename,hiddenvalue) VALUES ('$destino','$destino.'/'.$cad.'.'.$tipo')";
  2. $resultado = mysql_query($sql);

No me da ningún error pero no guarda nada.

Gracias de antemano.
  #2 (permalink)  
Antiguo 03/03/2013, 19:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 10 meses
Puntos: 461
Respuesta: Guardar ruta de imagen en mysql

esta query esta mal hecha, por la forma que estas usando las comillas
Código PHP:
Ver original
  1. $sql = "con, INSERT INTO images (imagename,hiddenvalue) VALUES ('$destino','$destino.'/'.$cad.'.'.$tipo')";

debería de ser
Código PHP:
Ver original
  1. $sql = "con, INSERT INTO images (imagename,hiddenvalue) VALUES ('$destino','" .$destino."/".$cad.].".".$tipo"')";
de manera que haga bien la concatenación, de todas maneras siempre puedes colocarlo en una variable y en la consulta solo indicar esta variable

Código PHP:
Ver original
  1. $ruta = $destino . '/' . $cad . '.' . $tipo;
  2. $sql = "con, INSERT INTO images (imagename,hiddenvalue) VALUES ('$destino','$ruta')";
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 03/03/2013, 19:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Guardar ruta de imagen en mysql

Muchas gracias Carlos si funcionó !
  #4 (permalink)  
Antiguo 03/03/2013, 19:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Guardar ruta de imagen en mysql

Otra pregunta ya modifique un poco el código para poder guardar también el usuario que sube la imagen y una pequeña descripción todo va bien excepto que no guarda la descripción.

Código PHP:
Ver original
  1. <?
  2. require_once('Connections/OfertaTuristica.php');
  3. //initialize the session
  4. if (!isset($_SESSION)) {
  5. }
  6. if($_POST){
  7. // Creamos la cadena aletoria
  8. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  9. $cad = "";
  10. for($i=0;$i<12;$i++) {
  11. $cad .= substr($str,rand(0,62),1);
  12. }
  13. // Fin de la creacion de la cadena aletoria
  14. $tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero
  15. $tamaño_max="50000000000"; // Tamaño maximo permitido
  16. if( $tamano < $tamaño_max){ // Comprovamos el tamaño
  17. $destino = 'uploads' ; // Carpeta donde se guardata
  18. $sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/
  19. $tipo=$sep[1]; // Optenemos el tipo de imagen que es
  20. if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp" || $tipo == "jpeg" || $tipo == "png"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen
  21. $sesion = $_SESSION['MM_Username'];
  22. $ruta = ($destino.'/'.$cad.'.'.$tipo);
  23. $description=$_POST["desc"];
  24. move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$cad.'.'.$tipo);  // Subimos el archivo
  25. mysql_query("INSERT INTO images (name,user,path,description) VALUES ('$destino','$sesion','$ruta','')");
  26. include('post.html'); // Incluimos la plantilla
  27. }
  28. else echo "El tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos
  29. }
  30. else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos
  31. }
  32. if($tipo == "pjpeg"){
  33. $tipo='jpeg';
  34. }  
  35.  
  36.  
  37. ?>


Código HTML:
Ver original
  1. <form action="sube.php" method="post" enctype="multipart/form-data" onsubmit="document.getElementById('elDiv').innerHT ML = '<img src=\'Images/BarraProgreso.gif\' />'">
  2.   <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  3.     <tr>
  4.       <td bgcolor="#FFFFFF"><table width="500" border="0" align="center" cellpadding="5" cellspacing="3">
  5.         <tr>
  6.           <td height="30" class="recordset">&nbsp;</td>
  7.           <td colspan="2"><label for="desc"></label>
  8.             <input type="text" name="desc" id="desc" /></td>
  9.         </tr>
  10.         <tr>
  11.           <td width="70" height="30" class="recordset">Archivo:</td>
  12.           <td width="284" colspan="2"><input name="file" type="file"  onchange="ver(form.file.value)" size="35" /></td>
  13.         </tr>
  14.         <tr>
  15.           <td height="30">&nbsp;</td>
  16.           <td width="50"><input name="submit" type="submit" value="Subír " /></td>
  17.           <td width="500"><div id="elDiv"></div></td>
  18.         </tr>
  19.       </table></td>
  20.     </tr>
  21.   </table>
  22. </form>
  #5 (permalink)  
Antiguo 03/03/2013, 21:10
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 6 años, 11 meses
Puntos: 0
Respuesta: Guardar ruta de imagen en mysql

Al campo descripción le estas enviando una cadena vacía al asignarle un par de comillas simples, deberías hacer esto:

mysql_query("INSERT INTO images (name,user,path,description) VALUES ('$destino','$sesion','$ruta','$description')");

Etiquetas: Ninguno
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 23:42.