Foros del Web » Programando para Internet » PHP »

subiendo imagenes

Estas en el tema de subiendo imagenes en el foro de PHP en Foros del Web. Hola aca estoy intentando resolver un pequeño problemita. Mediante un formulario con method="Post" enctype="multipart/form-data" el usuario puede subir imagenes al servidor. Solo le permito subir ...
  #1 (permalink)  
Antiguo 11/06/2010, 15:08
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta subiendo imagenes

Hola aca estoy intentando resolver un pequeño problemita.
Mediante un formulario con method="Post" enctype="multipart/form-data" el usuario puede subir imagenes al servidor.
Solo le permito subir imagens jpg, png y gif .
Cuando estas imagenes se guardan en el servidor no comprendo porque cambian de formato y se guardan en un formato que solo se puede abrir en un broswer y dejan de ser jpg o la que corresponda-.
Hasta ahora nunca me habia preocupado esto , pero ahora estoy intentando agregarles una marca de agua.
Ya he logrado tener un código que imprime marcas de agua pero en imagenes jpg, png y gif .
Pero no encuentro soporte para el formato en el que quedan en el servidor .
Mi pregunta es aparte de ImageCreateFromGif,ImageCreateFromPNG y ImageCreateFromJPEG Hay algo para ese formato en que se guarda en el servidor?
Tambien se me ocurre que tal vez podria pegarle la marca de agua cuando aun esta en la carpeta temporal que ahi me parece qiue aun tiene el formato original en que se sube. Es esto posible ?
Tampoco se si esto sucede en todos los hosting pues en este momento esty en uno gratuito
Cualquier sugerencia la valoraré muchisimo!!!
Gracias desde ya
  #2 (permalink)  
Antiguo 11/06/2010, 16:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: subiendo imagenes

cuando subes la imagen (o el archivo) a esta no se le cambia el formato (a menos que le cambies la extensión pero ello no afecta el formato)

usar GDI es la forma más simple de editar/ajustar imágenes, claro que se limita a los archivos básicos, jpg, gif, png, bmp, y si guardas con gdi es ilógico que no lo lea, a menos que al momento de "volcar" la data de la imagen a la salida del script, imprimas un echo que lo corrompa, y por ende en el navegador no se ve la imagen.
  #3 (permalink)  
Antiguo 11/06/2010, 17:17
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: subiendo imagenes

O sea si sigue siendo jpg porque en el servidor ya no aparece la extension sino que figura como archivo, pruebo bajarla y no se abre con un editor de imagenes y solo la veo con el explorador.
Si subo una imagen con ftp si mantiene su nombre y extension tal cual esta en mi pc.
Pero si la subo a traves del formulario hasta el icono es diferente y donde dice tipo de archivo dice Archivo y a este formato no se como aplicarle la marca de agua.
Puedo aplicar la marca de agua cuando aun esta en la carpeta temporal antes de usar el move_uploaded_file que es la solucion mas facile que se me ocurre ?
Gracias por ayudarme
  #4 (permalink)  
Antiguo 11/06/2010, 17:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: subiendo imagenes

el problema está ahí, en move_uploaded_file, al parecer o le cambias la extensión o la omites, muestra esa parte el codigo
  #5 (permalink)  
Antiguo 11/06/2010, 20:04
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Respuesta: subiendo imagenes

Cita:
Iniciado por maycolalvarez Ver Mensaje
el problema está ahí, en move_uploaded_file, al parecer o le cambias la extensión o la omites, muestra esa parte el codigo
Código PHP:

include 'db.php';
$idAviso=  $_REQUEST[idAviso];

  
$imagen1 $_FILES['archivo1']['name'];
  
$tamanoArchivo $_FILES['archivo1']['size'];
  
$tipoArchivo $_FILES['archivo1']['type'];
  
$temporal $_FILES['archivo1']['tmp_name'];
  
$tpropiedad=$_REQUEST[tpropiedad];

        
//compruebo la extensíon del archivo
        
if (!(strpos($tipoArchivo"gif") || strpos($tipoArchivo"jpeg")|| strpos($tipoArchivo"png")))
        {
$error1 =urlencode("Subir imagenes con estas extensiones : jpeg, jpg, png, gif  ");
         
header("location:formAvisoI1.php?error=$error1 && idAviso=$idAviso && tpropiedad=$tpropiedad");
         exit();
         }
  
        if (
$tamanoArchivo 307200 )
         {
$error2 =urlencode("Las imagenes no puede exceder los 300 Kbytes = 307200 bytes. "."<BR>"."La imagen seleccionada... "$tamanoArchivo." bytes ");
            
header("location:formAvisoI1.php?error=$error2 && idAviso=$idAviso && tpropiedad=$tpropiedad");
            exit(); }

         if(
$tpropiedad=="A")
         {
           
$destino ="images/Ap/".$imagen1;
           if (
is_uploaded_file($temporal))
          {
move_uploaded_file($temporal$destino);}
          
$consultaSQL="Update avisos2 SET imagen1='".$imagen1."'WHERE idAviso='".$idAviso."'";
          
mysql_db_query($database$consultaSQL$conexion);
           
$archivoRen=$idAviso."1";
          
$archivoRenstr_replace(" " ""$archivoRen); //sin espacios
          
$destino ="images/Ap/".$imagen1;
          
$destinoN="images/Ap/".$archivoRen;    //imagen 120*120
          
$destinoN2="images/Ap2/".$archivoRen;  //imagen original
        
           
if (file_exists ($destino))
          {
rename($destino,$destinoN); }
          
$consultaSQL="Update avisos2 SET imagen1='".$archivoRen."'WHERE idAviso='".$idAviso."'";
           
mysql_query($consultaSQL) or die(mysql_error());
          
//guardo la imagen original antes de ser redimensionada
            
if (file_exists ($destinoN))
           {
           
chmod ($destinoN,0777);
            
copy($destinoN,$destinoN2); }
          } 
  #6 (permalink)  
Antiguo 13/06/2010, 21:45
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: subiendo imagenes

Con el codigo que pegue anteriormente guardo las imagens en la base de datos y ahi debe haber algun error pues se guardan con formato que solo se puede abrir en el explorador y cundo vez el tipo de archivo (en el porgram de ftp dice ARchivo y no por ejemplo jpg
Please ayuda
Gracias desde ya

Etiquetas: imagenes
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 17:58.