Foros del Web » Programando para Internet » PHP »

redimencionar imagen para guardar remotamente

Estas en el tema de redimencionar imagen para guardar remotamente en el foro de PHP en Foros del Web. Saludos amigos... tengo que redimencionar una imagen luego de subirla al servidor... pero realmente soy nuevo y no tengo mucha experiencia trabajando con imagenes... alguien ...
  #1 (permalink)  
Antiguo 27/05/2006, 17:09
 
Fecha de Ingreso: febrero-2006
Ubicación: Barquisimeto, Venezuela
Mensajes: 36
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta redimencionar imagen para guardar remotamente

Saludos amigos...

tengo que redimencionar una imagen luego de subirla al servidor... pero realmente soy nuevo y no tengo mucha experiencia trabajando con imagenes... alguien podria ayudarme con un ejemplo practico o algun script y su explicacion de como usarlo...

los archivos q uso para subir mis fotos son estos...

subir.php

<body>
<form action="control_archivos.php" method="post" enctype="multipart/form-data">
<input type="file" name="1" />
<input type="submit" name="submit" value="Subir imagen" />
</form>
</body>

control_archivos.php

Código PHP:
$articulo='0018';
$destino 'archivos_subidos'
$tamano_archivo $_FILES['1']['size']; 
$tipo_archivo $_FILES['1']['type']; 
if (!( (
strpos($tipo_archivo"jpeg")) && ($tamano_archivo 2000000) )) { 
echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 2 Mb máximo.</td></tr></table>"
}else{ 
if (
move_uploaded_file($_FILES['1']['tmp_name'],$destino.'/'.$articulo.'_1.jpg')){ 
echo 
"El archivo ha sido cargado correctamente. ".$tamano_archivo." Kb<br>";
}
else{ 
echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."


muchas gracias de antemano...!!!

Última edición por oig_rozo; 27/05/2006 a las 18:08
  #2 (permalink)  
Antiguo 27/05/2006, 19:00
 
Fecha de Ingreso: diciembre-2002
Mensajes: 100
Antigüedad: 15 años
Puntos: 1
Saludos!.

Bueno lo de redimensionar lo tendras que resolver con una alternativa externa (GD ó imagemagick). Te recomiendo usar imagemagick para evitar limitaciones con tipos de fichero... de hecho creo que GD no te permitiría manipular fichero jpeg, buenos almenos la última versión de GD.

entoces asummiendo que tu server da soporte para "imagemagick" que casi todos los proveedores de hosting tienen esta herramienta (como en el caso de nosotros).

coloco aquí una función que te permitirá redimensionar, renombrar si existe dicho fichero ademas de subir al server.

Código PHP:
function IM($image_tmp_name$image_name$dir_name$image_size "70 x70"){ 
//$image_tmp_name => $_FILES['1']['tmp_name']
//$image_name => $_FILES['1']['name']
//$dir_name => $destino.'/'.$articulo
//$image_size => el tamaño que deseas darle a la imagen por defecto es "70 x 70"

$image $image_name;
if(
file_exists("$dir_name/$image_name")){
$i=1;
$image "$i" "_" $image_name;
while(
file_exists("$dir_name/" $i "_" $image_name))
   {
   
$i $i 1;
   
$image "$i" "_" $image_name;
   }
   }
$image_ $dir_name "/" $image;
exec("convert -scale $image_size $image_tmp_name $image_");
return 
$image;

¿Como usar esta función?:

subir una imagen y reducir su tamaño a 50 x 50:

Código PHP:
$image IM($_FILES['file']['tmp_name'], $_FILES['file']['name'], "$destino""50 x 50"); 
subir una imagen y dejar intacto su tamaño, si deseas subir un thumnail de la imagen ademas de preservar una en su tamaño original.

Código PHP:
$file_dat=getimagesize($_FILES['file']['tmp_name']); 
$x $file_dat[0] ; $y $file_dat[1];

$image IM($_FILES['file']['tmp_name'], $_FILES['file']['name'], "$destino""$x x $y"); 
puedes ver esto funcionando haciendo click sobre la imagen del producto, esta función la usamos en nuestra aplicación (web-dynamic cms) orientada a e-conmerce: Uno de nuestros últimos trabajos.

http://www.serviciosk26.com/index.ph...o%20de%20Dedo#

Última edición por RakoVky; 27/05/2006 a las 19:13
  #3 (permalink)  
Antiguo 28/05/2006, 17:02
 
Fecha de Ingreso: febrero-2006
Ubicación: Barquisimeto, Venezuela
Mensajes: 36
Antigüedad: 11 años, 9 meses
Puntos: 0
ok... mas o menos la entendi... pero podrias ayudarme adaptarlo a mi codigo por favor... es que soy nuevo... muchas gracias..!!
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 08:05.