Espero que les sirva de ayuda.
Código PHP:
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Redimensionador</title>
<script>
cont = 0;
function puntos(){    //Función para el aviso de espera
    if(cont>10){
        document.getElementById('puntitos').innerHTML = '';
    }
    document.getElementById('puntitos').innerHTML += '.  ';
    cont++;
    setTimeout("puntos()",500);
}
function avisar(){    //Muestra el aviso de espera mientras se redimensionan las imágenes
    puntos();
    document.getElementById('aviso').style.visibility = 'visible';
}
</script>
<style>
div#aviso{
    border:10px solid #000;
    width:450px;
    height:350px;
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-225px;
    margin-top:-175px;
    visibility:hidden;
    text-align:center;
    vertical-align:middle;
}
</style>
</head>
<body>
<h1>Redimensionador, de directorio</h1>
<h3>Este archivo debe ser copiado en el directorio que contiene las imágenes a redimensionar</h3>
<?php
if(isset($_GET["width"])){
    
    // Separa el nombre base de su extensión
    function separar_extension($arch){
        $ext = pathinfo($arch, PATHINFO_EXTENSION);
        $base = basename($arch, '.'.$ext);
        return array($base,$ext);
    }
    
    class resizer {
        
        public $nombre;
        public $retorno;
        
        function resizer($nombre){
            $this->retorno = NULL;
            $this->nombre = $nombre;
        }
        
        function base_extension(){
            return separar_extension($this->nombre);
        }
        
        function is_image(){
            list($base,$ext)=$this->base_extension();
            if($ext=="JPG" || $ext=="PNG" || $ext=="GIF" || $ext=="jpg" || $ext=="png" || $ext=="gif")
                return true;
            else
                return false;
        }
        
        function get_name(){
            list($base,$ext) = $this->base_extension();
            return "$base.$ext";
        }
        
        function set_retorno($ret){
            $this->retorno = $ret;
        }
        
        function resize($nw=400,$hmax=460){
            
            $imagen=getimagesize($this->nombre);
            
            $w = $imagen[0];
            $h = $imagen[1];
            $tip = $imagen[2];
            
            if($tip==1)$img=imagecreatefromgif($this->nombre);
            if($tip==2)$img=imagecreatefromjpeg($this->nombre);
            if($tip==3)$img=imagecreatefrompng($this->nombre);
    
            $nh = ($nw*$h/$w);
            if($nh>$hmax){
                $nh = $hmax;
                $nw = $w*$nh/$h;
            }
            
            $thumb = imagecreatetruecolor($nw,$nh);
            $blanco = imagecolorallocate($thumb,255,255,255);
            imagefill($thumb,0,0,$blanco);
            
            imagecopyresampled($thumb, $img, 0, 0, 0, 0, $nw, $nh, $w, $h);
            
            list($base,$ext) = separar_extension($this->nombre);
            
            if($tip==1){
                if($this->retorno==NULL)$this->retorno = "thumb_$base.gif";
                imagegif($thumb,$this->retorno);
            }
            elseif($tip==2){
                if($this->retorno==NULL)$this->retorno = "thumb_$base.jpg";
                imagejpeg($thumb,$this->retorno);
            }
            elseif($tip==3){
                if($this->retorno==NULL)$this->retorno = "thumb_$base.png";
                imagepng($thumb,$this->retorno);
            }
            
            imagedestroy($thumb);
            
            return $this->retorno;
        }
    }
    
    
    //Redimensionamiento del directorio
    $dir = opendir(".");
    while($file=readdir($dir)){
        $resizer = new resizer($file);
        if(!$resizer->is_image())continue;
        $resizer->set_retorno($resizer->get_name());
        ?>
        <p><a href="<?=$resizer->get_name()?>"><?=$resizer->get_name()?></a></p>
        <?php
        $resizer->resize($_GET["width"],$_GET["hmax"]);
    }
}else{
    ?>
    <form method="get" onSubmit="avisar()">
    <p>width: <input name="width"/></p>
    <p>max-height: <input name="hmax" /></p>
    <p><input type="submit" value="Redimensionar" /></p>
    </form>
    
    <div id="aviso">
        <h3>Espere mientras se redimensionan las imágenes</h3>
        <p id="puntitos"></p>
    </div>
    
    <?php
}
?>
</body>
</html>    
 



