Foros del Web » Programando para Internet » PHP »

Insertar imagenes con PHP en base de datos

Estas en el tema de Insertar imagenes con PHP en base de datos en el foro de PHP en Foros del Web. Buenas tardes gente, estoy haciendo un sistema de articulos para un sitio que consta de un formulario de administracion en el que se puede insertar: ...
  #1 (permalink)  
Antiguo 05/08/2011, 19:06
 
Fecha de Ingreso: junio-2010
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Insertar imagenes con PHP en base de datos

Buenas tardes gente, estoy haciendo un sistema de articulos para un sitio que consta de un formulario de administracion en el que se puede insertar: titulo, una imagen, contenido, y contenido extra (leer mas)
este es el codigo..

Código PHP:
<?php 
$status 
"";
if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo 
    
$nombre $_FILES["imagen"]['name'];
    
$tmpName $_FILES['imagen']['tmp_name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    
$titulo $_POST['titulo'];
    
$contenido =  $_POST['contenido'];
    
$contenidofull $_POST['contenidofull'];
    
    if (
$nombre != "") {
        
// indicamos el nombre definitivo de la imagen
        
$nombre_final $prefijo."_".$nombre;
        
// indicamos el lugar donde guardar el archivo
        
$destino =  "../img_noticias/".$nombre_final;
        
// ejecutamos la función dentro de un condicional e imprimimos el mensaje que corresponda
        
if (copy($_FILES['imagen']['tmp_name'],$destino)) {
        
                
// me conecto    
                
require_once('../Connections/conectajunin.php');
        
                
// lo único que agrego es la linea de con que base de datos voy a trabajar
                
mysql_select_db($database_conectajunin$conectajunin);

       
                
// inserto los datos acumulados en las variables en la base de datos
                
$query "INSERT INTO noticias (titulo, imagen, contenido, contenidofull) ".
                         
"VALUES ('$titulo', '$nombre_final', '$contenido', '$contenidofull')";

                    
mysql_query($query) or die('Error, no se estableció la conexión, el archivo no se ha subido');                    
        
                
$subido=1;
        
        
        
            
$status "Archivo subido: <b>".$nombre_final."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
            

?>
Hasta acá funciona perfecto, pero ahora necesito que puedan insertarse hasta 3 imagenes extras de ser necesario.
Para esto modifique un poco el codigo... obviamente lo hice muy mal porque no anduvo..

Esto es lo q hice..

Código PHP:
<?php 
$status 
"";
if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo 
    
$nombre $_FILES["imagen"]['name'];
    
$tmpName $_FILES['imagen']['tmp_name'];
    
    
$nombre1 $_FILES["imagenextra1"]['name'];
    
$tmpName1 $_FILES['imagenextra1']['tmp_name'];
    
    
$nombre2 $_FILES["imagenextra2"]['name'];
    
$tmpName2 $_FILES['imagenextra2']['tmp_name'];
    
    
$nombre3 $_FILES["imagenextra3"]['name'];
    
$tmpName3 $_FILES['imagenextra3']['tmp_name'];
    
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    
$titulo $_POST['titulo'];
    
$contenido =  $_POST['contenido'];
    
$contenidofull $_POST['contenidofull'];
    
    if (
$nombre || $nombre1 || $nombre2 || $nombre3 != "") {
        
// indicamos el nombre definitivo de la imagen
        
$nombre_final $prefijo."_".$nombre;
        
// indicamos el lugar donde guardar el archivo
        
$destino =  "../img_noticias/".$nombre_final;
        
        
$nombre_final1 $prefijo."_".$nombre1;
        
$destino1 =  "../img_noticias/".$nombre_final1;
        
        
$nombre_final2 $prefijo."_".$nombre2;
        
$destino2 =  "../img_noticias/".$nombre_final2;
        
        
$nombre_final3 $prefijo."_".$nombre3;
        
$destino3 =  "../img_noticias/".$nombre_final3;
        
        
        
// ejecutamos la función dentro de un condicional e imprimimos el mensaje que corresponda
        
if (copy($_FILES['imagen,imagenextra1,imagenextra2,imagenextra3']['tmp_name'],$destino$destino1$destino2$destino3)) {
        
                
// me conecto    
                
require_once('../Connections/conectajunin.php');
        
                
// lo único que agrego es la linea de con que base de datos voy a trabajar
                
mysql_select_db($database_conectajunin$conectajunin);

       
                
// inserto los datos acumulados en las variables en la base de datos
                
$query "INSERT INTO noticias (titulo, imagen, contenido, contenidofull,imagenextra1,imagenextra2,imagenextra3) ".
                         
"VALUES ('$titulo', '$nombre_final', '$contenido', '$contenidofull', '$nombre_final1', '$nombre_final2', '$nombre_final3')";

                    
mysql_query($query) or die('Error, no se estableció la conexión, el archivo no se ha subido');                    
        
                
$subido=1;
        
        
        
            
$status "Archivo subido: <b>".$nombre_final."</b>";
            
$status "Archivo subido: <b>".$nombre_final1."</b>";
            
$status "Archivo subido: <b>".$nombre_final2."</b>";
            
$status "Archivo subido: <b>".$nombre_final3."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
            

?>
Necesitaría una mano con esto, ya que no se por donde encarar.
Disculpen la ignorancia, pero estoy iniciandome en el tema y es la primera vez que hago algo de este tipo.

Última edición por martin_e86; 06/08/2011 a las 02:55

Etiquetas: imagenes, mysql, registro
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:28.