Foros del Web » Programando para Internet » PHP »

darle una ruta a imagen hacia la bd

Estas en el tema de darle una ruta a imagen hacia la bd en el foro de PHP en Foros del Web. hola hice un formulario que subo imagenes a mi ftp , pero lo que quiero hacer ahora es mandar la ruta de la imagen a ...
  #1 (permalink)  
Antiguo 30/10/2008, 21:23
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
darle una ruta a imagen hacia la bd

hola hice un formulario que subo imagenes a mi ftp , pero lo que quiero hacer ahora es mandar la ruta de la imagen a mi bd para que luego la pueda pegar en la pagina que quiero a la foto
esto es lo que tengo hecho

Código PHP:
<?php 
if (isset($_POST['submit'])){
if (
is_uploaded_file($_FILES['fichero']['tmp_name'])){// verifico que haya sido cargado el archivo 
   
$ruta"foto/".$_FILES['fichero']['name'];
   if(
move_uploaded_file($_FILES['fichero']['tmp_name'],$ruta)){ //se coloca en su lugar final
   
echo "<b>subida exitosa!. datos:</b><br>";
   echo 
"Nombre:<i><a href=\"foto/".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
    echo 
"Tipo: <i>".$_FILES['fichero']['type']."</i><br>";
    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
              echo 
"<br><hr><br>";
        }
     } 
 } 
// A continuación el formulario
?>
<?php 


?>
<form action="<?php echo $_SERVER['PHP_SELF']  ?>" method="post" enctype="multipart/form-data"/>
ARCHIVO: <input name="fichero" type="file">
<input name="submit" type="submit" value="Subir">
<input name="submit"  type="button" value="Borrar">
</form>
  #2 (permalink)  
Antiguo 30/10/2008, 21:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: darle una ruta a imagen hacia la bd

Hola hernansam,

Solo te faltaría poner la parte de la BDD, esto lo realizas dependiendo del motor de bases de datos que uses y enviando una consulta del tipo INSERT.

Saludos.
  #3 (permalink)  
Antiguo 30/10/2008, 22:57
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: darle una ruta a imagen hacia la bd

gracias por responder , yo uso phpmyadmin , mira esto lo que hice pero no funciona, hice algo mal?

Código PHP:
<?php $link=mysql_connect("localhost","root","pass");
mysql_select_db("sistema_de_noticias",$link);

mysql_query("INSERT INTO imagenes ('1') values ('$1')",$link);

if (isset(
$_POST['submit'])){
if (
is_uploaded_file($_FILES['fichero']['tmp_name'])){// verifico que haya sido cargado el archivo 
   
$ruta"foto/".$_FILES['fichero']['name'];
   if(
move_uploaded_file($_FILES['fichero']['tmp_name'],$ruta)){ //se coloca en su lugar final
   
echo "<b>subida exitosa!. datos:</b><br>";
   echo 
"Nombre:<i><a href=\"foto/".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
    echo 
"Tipo: <i>".$_FILES['fichero']['type']."</i><br>";
    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
              echo 
"<br><hr><br>";
        }
     } 
 } 
// A continuación el formulario
?>
  #4 (permalink)  
Antiguo 31/10/2008, 05:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: darle una ruta a imagen hacia la bd

Hola

prueba asi, haciendo el insert despues de mover el archivo

Código PHP:
<?php 

$link
=mysql_connect("localhost","root","pass");
mysql_select_db("sistema_de_noticias",$link);



if (isset(
$_POST['submit'])){
if (
is_uploaded_file($_FILES['fichero']['tmp_name'])){// verifico que haya sido cargado el archivo 
   
$ruta"foto/".$_FILES['fichero']['name'];
   if(
move_uploaded_file($_FILES['fichero']['tmp_name'],$ruta)){ //se coloca en su lugar final
               
echo "<b>subida exitosa!. datos:</b><br>";
               echo 
"Nombre:<i><a href=\"foto/".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
                echo 
"Tipo: <i>".$_FILES['fichero']['type']."</i><br>";
                echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
             echo 
"<br><hr><br>";
              
              
mysql_query("INSERT INTO imagenes ('1') values ('$ruta')",$link)or die(mysql_error());
              
//segun el query el campo de la tabla imagenes se llama    1    y le insertas  $ruta
              // que lleva la ruta y el nombre del archivo.
              
              
        
}
     } 
 } 
// A continuación el formulario
?>
Un saludo
  #5 (permalink)  
Antiguo 31/10/2008, 05:16
Avatar de Shagraarath  
Fecha de Ingreso: agosto-2008
Mensajes: 151
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: darle una ruta a imagen hacia la bd

Yo hice un codigo para subir videos donde tb tuve que hacer eso,
Aqui tienes lo necesario para tu codigo, espero te sirva de ayuda ;)

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Subiendo una nueva foto</title>
    <link rel="STYLESHEET" type="text/css" href="estilos_admin.css">                         <!-- Llama al  archivo .CSS -->
</head>
<body>
<h1>Subiendo un archivo</h1>
<br> 
<div align="center">
<?php
$tipo_archivo 
$HTTP_POST_FILES['video']['type'];                                             // Guarda la extension del archivo
/*echo "$tipo_archivo";*/
if($_FILES['video']['name']!=NULL)                                                            // Abre el if si se ha seleccionado un archivo
 

   
$nombre= ($_POST["cadenatexto"]);                                                        // Guarda el  nombre del archivo
   
$descripcion= ($_POST["descripcion"]);                                                    // Guarda la descripcion del archivo
   
$uploadfile_temporal=$_FILES['video']['tmp_name'];                                        // Guarda informacion en $uploadfile_temporal que utilizara para subir el archivo
   
$bool preg_match('/\.[.^mov][.^mov]/',$HTTP_POST_FILES['video']['name']);                // El boleano cambia segun el archivo sea .mov o no
   
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];                                    // Guarda el tamaño del archivo
   
$nombre_carpeta "videos/".$nombre."/";                                                    // Crea la ruta de la creacion del video
   
$uploadfile_nombre=$nombre_carpeta.$_FILES['video']['name'];                                // Guarda iformacion en $uploadfile_nombre que utilizara para subir el archivo 
   
$ruta_video=$nombre_carpeta.$_FILES['video']['name'];                                    // Guarda informacion en $ruta_video que utilizara para crear la ruta del video
  

if(!is_dir($nombre_carpeta)){                                                                // Se abre el if si no existe una carpeta con el mismo valor que $nombre_carpeta
@mkdir($nombre_carpeta0700);                                                                // Crea la carpeta con el valor de $nombre_carpeta
   
                
if (!$bool || ($tamano_archivo 10000000)) {                                 // Comprueba la extension y tamaño del archivo
                    
echo "La extensión o el tamaño de los archivos no es correcta. <p><ol><li>Se permiten archivos .flv o .mov<br><li>se permiten archivos de 100Mb máximo.";
                }else{
                     
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);            // Sube el archivo a la ruta creada
                     
$ingresar="insert into videos (ID,Nombre, Ruta, descripcion) values ('','$nombre', '$uploadfile_nombre','$descripcion')";                                                         // Guarda la insctruccion para subir los datos a la BB.DD en $ingresar
                     
$link mysql_connect("localhost""root");                            // Guarda los datos de conexion a la BB.DD en $link
                      
mysql_select_db("deporte",$link);                                        // Conecta a la BB.DD
                     
if(mysql_query($ingresar))                                                // Se abre el if si se ingresan los datos en la BB.DD
                     
{
                       echo 
"<p>El video ha sido ingresado correctamente";
                     }
                     else                                                                    
// Salta un mensaje de error si no se puede ingresar
                     
{  
                       echo 
"<p>Error al ingresar el video";
                     }
                   }
}else{                                                                                        
// Salta un mensaje de error si el titulo del video ya existe
echo "<p>El titulo del video ya existe.";
}  
}
 
?>
                 <p>
                <p>
                <a href="index.php">Volver</a>
</div>
</body>
</html>
  #6 (permalink)  
Antiguo 31/10/2008, 09:20
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: darle una ruta a imagen hacia la bd

mira ahi lo cambie jaronu pero me tira este error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1') values ('foto/alpedo 002.jpg')' at line 1
  #7 (permalink)  
Antiguo 31/10/2008, 14:37
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: darle una ruta a imagen hacia la bd

Perdon,

quitale las comillas al nombre del campo de la BBDD donde guardas las imagenes, seguramente sera eso.


mysql_query("INSERT INTO imagenes (1) values ('$ruta')",$link)or die(mysql_error());

yo te aconsejaria quitar los espacios del nombre del archivo de esta manera:

$ruta= ereg_replace (" ", "_", $ruta);

antes de insertar en la base.

Un saludo
  #8 (permalink)  
Antiguo 31/10/2008, 17:38
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: darle una ruta a imagen hacia la bd

gracias , por la respuesta ahi le quite las comillas pero me sigue tirando el mismo error
  #9 (permalink)  
Antiguo 31/10/2008, 18:32
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: darle una ruta a imagen hacia la bd

esta linea

mysql_query("INSERT INTO imagenes (1) values ('$ruta')",$link)

estas diciendo que inserte en la tabla imagenes en el campo 1 el valor de $ruta

se llama tu campo de la tabla imagenes para almacenar las imagenes 1??

o tiene otro nombre??
  #10 (permalink)  
Antiguo 31/10/2008, 22:20
Avatar de hernansam  
Fecha de Ingreso: septiembre-2007
Ubicación: Funes , Argentina
Mensajes: 204
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: darle una ruta a imagen hacia la bd

bueno gracias ahi lo soluciones le cambie el nombre al campo que era 1 a ruta y funciona , talvez si pongo un numero en un campo no funciona bien?
pero bueno gracias ya me esta funcionando bien
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 21:34.