Foros del Web » Programando para Internet » PHP »

Insertar imágenes

Estas en el tema de Insertar imágenes en el foro de PHP en Foros del Web. Saludos, Estoy retomando la programación y ando desarrollando un sistema donde las personas ingresen sus productos e imagenes.. ahora bien, siempre lo habia desarrollado de ...
  #1 (permalink)  
Antiguo 28/03/2011, 08:58
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Insertar imágenes

Saludos,
Estoy retomando la programación y ando desarrollando un sistema donde las personas ingresen sus productos e imagenes.. ahora bien, siempre lo habia desarrollado de una manera muy básica y ahora me gustaria que cuando yo insertara esas imágenes el sistema les cambiara el nombre si ya existe alguna con ese nombre... asi lo desarrollo yo...

Código PHP:
<?php require_once('../Connections/azimut.php'); ?>

<?php

include_once("fckeditor/fckeditor.php") ;

?>

<?php

if (!function_exists("GetSQLValueString")) {

function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""

{

  
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;



  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);



  switch (
$theType) {

    case 
"text":

      
$theValue = ($theValue != "") ? "'" $theValue "'" "''";

      break;    

    case 
"long":

    case 
"int":

      
$theValue = ($theValue != "") ? intval($theValue) : "''";

      break;

    case 
"double":

      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "''";

      break;

    case 
"date":

      
$theValue = ($theValue != "") ? "'" $theValue "'" "''";

      break;

    case 
"defined":

      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;

      break;

  }

  return 
$theValue;

}

}



$editFormAction $_SERVER['PHP_SELF'];

if (isset(
$_SERVER['QUERY_STRING'])) {

  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);

}



if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

//imagenes

$ediciondir'../galeria/';  

$uploaddir=$ediciondir;

if (!
is_dir($ediciondir)) {     mkdir($uploaddir0777);    }

move_uploaded_file($_FILES['foto']['tmp_name'], $uploaddir $_FILES['foto']['name']);    

$filename $_FILES['foto']['name'];



  
$insertSQL sprintf("INSERT INTO galeria (id, cat, cod, nombre, descripcion, foto) VALUES (%s, %s, %s, %s, %s, %s)",

                       
GetSQLValueString($_POST['id'], "int"),

                       
GetSQLValueString($_POST['cat'], "int"),

                       
GetSQLValueString($_POST['cod'], "text"),

                       
GetSQLValueString($_POST['nombre'], "text"),

                       
GetSQLValueString($_POST['descripcion'], "text"),

                       
GetSQLValueString($filename"text"));



  
mysql_select_db($database_azimut$azimut);

  
$Result1 mysql_query($insertSQL$azimut) or die(mysql_error());



  
$insertGoTo "list_accesorios.php";

  if (isset(
$_SERVER['QUERY_STRING'])) {

    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";

    
$insertGoTo .= $_SERVER['QUERY_STRING'];

  }

  
header(sprintf("Location: %s"$insertGoTo));



}?
alguien podria ayudarme???

Gracias de antemano!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 28/03/2011, 09:07
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Insertar imágenes

y por que nada mas no preguntas si la imagen existe en la base de datos??


$f=1;
si exite :
$fileName = $.f.$fileName //nuevo nombre
  #3 (permalink)  
Antiguo 28/03/2011, 09:24
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: Insertar imágenes

ok pero donde iria eso man???.. pq la idea es q me la renombre si esa imagen existe...!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #4 (permalink)  
Antiguo 28/03/2011, 09:36
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Insertar imágenes

y para que esta el metodo rename de PHP??????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ???????????????????????????????
  #5 (permalink)  
Antiguo 28/03/2011, 09:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años
Puntos: 13
Respuesta: Insertar imágenes

Se podría hacer qconla funcion file_exits para comprobar si existe el archivo

http://php.net/manual/es/function.file-exists.php

Por ejemplo:


Código:
$filename = $_FILES['foto']['name'];

if (file_exists($filename))
{

//Renombramos imagen añadiendole la letra b al final, aunque puede ser cualquier cosa

$imagen=$filename."b.jpg";

//La copiamos al servidor

move_uploaded_file($imagen $uploaddir . $imagen);    
.
.
.
}else
{

//La copiamos al servidor

move_uploaded_file($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name']);
.
.
.
}
  #6 (permalink)  
Antiguo 28/03/2011, 09:37
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Insertar imágenes

OK si el archivo existe
que haga un
<?Php
rename($antiguo, $nuevo);
?>
  #7 (permalink)  
Antiguo 28/03/2011, 09:38
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: Insertar imágenes

mmm ya ya ya... probare.. gracias para ambos....!!! les comento luego si funciona!!!
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #8 (permalink)  
Antiguo 28/03/2011, 09:53
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Insertar imágenes

mira esta solucion..es la k yo uso
con esto inserto la imagen o mejor dicho la ruta de la imagen a la bd
Código PHP:
if (is_uploaded_file($_FILES['foto']['tmp_name'])){  //if foto

               
if ($_FILES['foto']['type'] =="image/jpeg" or
                   
$_FILES['foto']['type'] =="image/jpg" or
                   
$_FILES['foto']['type'] =="image/gif") {

                    
$nombre_foto "producto_".time().".jpg";

                   
//moviendo archivo
                   
$ruta_temp   $_FILES['foto']['tmp_name'];
                   
$ruta_dest   "imagenes/foto_piezas/".$nombre_foto;
                   
                   
move_uploaded_file($ruta_temp$ruta_dest);

                   }
                   else{
                   
$nombre_foto "no_foto.jpeg";
                  
$mensaje_foto .="<br/> Tipo de archivo incorrecto";
                      }
                   } 
donde la variable $nombre_foto es variable que se pondra en el insert into osea insert into producto values()
  #9 (permalink)  
Antiguo 28/03/2011, 09:57
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Insertar imágenes

mira esta solucion..es la k yo uso
con esto inserto la imagen o mejor dicho la ruta de la imagen a la bd
Código PHP:
if (is_uploaded_file($_FILES['foto']['tmp_name'])){  //if foto

               
if ($_FILES['foto']['type'] =="image/jpeg" or
                   
$_FILES['foto']['type'] =="image/jpg" or
                   
$_FILES['foto']['type'] =="image/gif") {

                    
$nombre_foto "producto_".time().".jpg";

                   
//moviendo archivo
                   
$ruta_temp   $_FILES['foto']['tmp_name'];
                   
$ruta_dest   "imagenes/foto_piezas/".$nombre_foto;
                   
                   
move_uploaded_file($ruta_temp$ruta_dest);

                   }
                   else{
                   
$nombre_foto "no_foto.jpeg";
                  
$mensaje_foto .="<br/> Tipo de archivo incorrecto";
                      }
                   } 
donde la variable $nombre_foto es variable que se pondra en el insert into osea
Código PHP:
insert into producto (fotovalues($nombre foto
y en el archivo para modificar uso esto

Código PHP:
if ( is_uploaded_file($_FILES['foto']['tmp_name']) AND $error !== false ) { //IF II

                                                        
if ($_FILES['foto']['type'] == 'image/jpg' OR
                                                            
$_FILES['foto']['type'] == 'image/jpeg' OR
                                                            
$_FILES['foto']['type'] == 'image/gif' AND
                                                            
$_FILES['foto']['size'] <  5120)

                                                         {
// JPG

                                                               
$extencion  $_FILES['foto']['name'];
                                                               
$info_arc   pathinfo($extencion);


                                                               
$nombre_foto 'producto_'.time().".".$info_arc['extension'];

                                                               
$ruta_temp   $_FILES['foto']['tmp_name'];
                                                               
$ruta_dest   "imagenes/foto_piezas/".$nombre_foto;

                                                               
//PREGUNTANDO SI EXISTE EL ARCHIVO FOTO PARA PROCEDER A ELIMINARLA Y SUSTITUIRLA POR LA QUE SUBIERON
                                                               
if (file_exists("imagenes/foto_piezas/".$elimina_foto) AND !empty($elimina_foto)){
                                                              
//ELIMINADO LA FOTO CON LA FUNCION UNLINK
                                                              
unlink("imagenes/foto_piezas/".$elimina_foto);}

                                                               
move_uploaded_file($ruta_temp,$ruta_dest);
                                                               
$hayfoto true;
                                                               }else{

                                                               
$mensaje_foto "<br /> El Tipo de archivo es Incorrecto";
                                                               }

                                                               }else {
                                                                
$hayfoto false;
                                                               }
// FIN IF FOTO 
y luego pones esto

Código PHP:
$foto                   $nombre_foto
     if (
$hayfoto){

                
$lafoto ", foto = '".$foto."'";

            }else{

                
$lafoto "";
            } 
y en el update pones la variable $lafoto y listo, asi te sustituye la foto y no tienes k estar renombrando la foto

otra cosa manda pòr un hidden la variable elimina_foto asi

Código PHP:
<input type= "hidden" name="elimina_foto" id= "elimina_foto" value="<?php echo $campo['foto'];  ?>" />
se k es mucho pero funciona al 100%
  #10 (permalink)  
Antiguo 28/03/2011, 10:16
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: Insertar imágenes

Cita:
Iniciado por Jheiron Ver Mensaje
mira esta solucion..es la k yo uso
con esto inserto la imagen o mejor dicho la ruta de la imagen a la bd
Código PHP:
if (is_uploaded_file($_FILES['foto']['tmp_name'])){  //if foto

               
if ($_FILES['foto']['type'] =="image/jpeg" or
                   
$_FILES['foto']['type'] =="image/jpg" or
                   
$_FILES['foto']['type'] =="image/gif") {

                    
$nombre_foto "producto_".time().".jpg";

                   
//moviendo archivo
                   
$ruta_temp   $_FILES['foto']['tmp_name'];
                   
$ruta_dest   "imagenes/foto_piezas/".$nombre_foto;
                   
                   
move_uploaded_file($ruta_temp$ruta_dest);

                   }
                   else{
                   
$nombre_foto "no_foto.jpeg";
                  
$mensaje_foto .="<br/> Tipo de archivo incorrecto";
                      }
                   } 
donde la variable $nombre_foto es variable que se pondra en el insert into osea insert into producto values()
si estoy en lo correcto, tu codigo renombra todas las imagenes con fecha y hora ????
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...

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 10:17.