Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/04/2006, 10:32
subirol
 
Fecha de Ingreso: diciembre-2005
Ubicación: Vigo
Mensajes: 135
Antigüedad: 18 años, 3 meses
Puntos: 3
move_uploaded_file($foto, $foto_original)

$bytes = filesize($foto_original);

// Cambiamos el Modo
chmod($foto_original, 0644);

## CREAMOS LOS ICONOS PEQUEÑOS.
// Calculamos el tamaño del " icono " proporcionalmente sobre los valores máximos de la configuración.
$ratio_ancho = $ancho_ico / $foto_ancho;
$ratio_alto = $alto_ico / $foto_alto;

if ( ($foto_ancho <= $ancho_ico) && ($foto_alto <= $alto_ico) ) {
$ancho_final = $foto_ancho;
$alto_final = $foto_alto;
}
else if (($ratio_ancho * $foto_alto) < $alto_ico) {
$alto_final = ceil($ratio_ancho * $foto_alto);
$ancho_final = $ancho_ico;
}
else {
$ancho_final = ceil($ratio_alto * $foto_ancho);
$alto_final = $alto_ico;
}
$src_img = imagecreatefromjpeg($foto_original);
$nueva_foto = imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresampled($nueva_foto, $src_img, 0, 0, 0, 0, $ancho_final,(int)$alto_final, $foto_ancho, $foto_alto);
imagejpeg($nueva_foto, $nuevo_ico, $calidad);
imagedestroy($src_img);
imagedestroy($nueva_foto);

## CREAMOS LOS ICONOS MEDIANOS.
// Calculamos el tamaño de la imagen " media " proporcionalmente sobre los valores máximos de la configuración.
$ratio_ancho = $ancho_med / $foto_ancho;
$ratio_alto = $alto_med / $foto_alto;

if ( ($foto_ancho <= $ancho_med) && ($foto_alto <= $alto_med) ) {
$ancho_final = $foto_ancho;
$alto_final = $foto_alto;
}
else if (($ratio_ancho * $foto_alto) < $alto_med) {
$alto_final = ceil($ratio_ancho * $foto_alto);
$ancho_final = $ancho_med;
}
else {
$ancho_final = ceil($ratio_alto * $foto_ancho);
$alto_final = $alto_med;
}
$src_img = imagecreatefromjpeg($foto_original);
$nueva_foto = imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresampled($nueva_foto, $src_img, 0, 0, 0, 0, $ancho_final,(int)$alto_final, $foto_ancho, $foto_alto);
imagejpeg($nueva_foto, $nuevo_med, $calidad);
imagedestroy($src_img);
imagedestroy($nueva_foto);

// crear imagen desde el original
$original = imagecreatefromjpeg($foto_original);
//imagealphablending($original, true);
// guardar la nueva imagen
imagejpeg($original, $foto_original, $calidad);
// cerrar las imágenes
imagedestroy($original);

este es el trozo de codigo con el que subo las imagenes, cuando intento subir una imagen de mas de 1024 px en piezan los problemas, por no me genera la imagen de tamaño medio y ademas a veces aunque me la genera no me permite visualizar la imagen original.

Un Saludo y gracias.