Tengo una pequeña duda:
Uso un pequeño codigo para subir imagenes a mi servidor y cambiarlas de tamaño.
Me diante un formulario envio un archivo con la variable userfile
el codigo que uso para guardar y modificar el tamaño de la imagen es:
Código PHP:
   <?
//nombre del archivo
$nombrearchivo = $HTTP_POST_FILES['userfile']['name'];
echo "<span class='body'><strong>Nombre de la Imagen:</strong> " . $nombrearchivo . "</span><br><br>";
 
 
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 2000000))) {
    echo "<span class='body'><strong>La extensión o el tamaño de los archivos no es correcta. </strong></span><br><br><table><tr><td><li><span class='body'><strong>Se permiten archivos .gif o .jpg<br><li>Se permiten archivos de 2 Mb máximo.</strong></span></td></tr></table>";
}else{
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "../../imagenes/" .$nombre_archivo)){
        echo "<span class='body'><strong>El archivo ha sido cargado correctamente.</strong></span>";
    }else{
        echo "<span class='body'><strong>Ocurrió algún error al subir el fichero. No pudo guardarse.</strong></span>";
    }
}
 
    $compdatos = getimagesize($img_original);
 
 if (($compdatos[0]>=500) || ($compdatos[1]>=500)) { 
  function redimensionar_jpeg($img_original, $img_nueva, $anchura, $altura, $img_nueva_calidad) {
 
    // crear imagen desde original
    $img = ImageCreateFromJPEG($img_original);
    
    //miramos el tamaño de la imagen original
    $datos = getimagesize($img_original);
 
    //Si el alto es mas grande que el ancho
    if($datos[1]>$datos[0]){
    
        //intentamos escalar la imagen original a la medida que nos interesa
        $ratio = ($datos[1] / $altura);
           $anchura = round($datos[0] / $ratio);
    
            // crear imagen nueva
           $thumb = ImageCreateTrueColor($anchura,$altura);
    
           // redimensionar imagen original copiandola en la imagen
        ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            // guardar la imagen redimensionada donde indicia $img_nueva
            ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }
 
    //Si el ancho es mas grande que el alto
    if($datos[0]>$datos[1]){
    
        //intentamos escalar la imagen original a la medida que nos interesa
        $ratio = ($datos[0] / $anchura);
            $altura = round($datos[1] / $ratio);
    
            // crear imagen nueva
            $thumb = ImageCreateTrueColor($anchura,$altura);
    
            // redimensionar imagen original copiandola en la imagen
        ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            // guardar la imagen redimensionada donde indicia $img_nueva
            ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }
    
  }
  
  redimensionar_jpeg("../../imagenes/".$nombre_archivo,"../../imagenes/".$nombre_archivo,500,500,80);
}
?>    Ejemplos:
gráfico1.jpg --> grafico1.jpg
imagen de prueba.jpg --> imagen_de_prueba.jpg
¿Como podría solucionarlo?
Muchas Gracias
 
