Pongo el código completo de la aplicación :
Código PHP:
   <?php  
 
function CargarJpeg ($nombreimg) {
    $im = @imagecreatefromjpeg ($nombreimg); /* Intento de apertura */
    if (!$im) { /* Comprobar si ha fallado */
        
        $im  = imagecreate (150, 30); /* Crear una imagen en blanco */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc  = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Mostrar un mensaje de error */
        imagestring ($im, 20, 30, 40, "Error cargando $nombreimg", $tc);
        imagedestroy($im);
    }
    return $im;
}
function RedimensionaImagen ($nombreimgdest , $original, $hmax, $anchura) {
    
 
    $datos[0] = imagesx($original);
    $datos[1]= imagesy($original);     
  $ratio = ($datos[0] / $anchura); 
  $altura = ($datos[1] / $ratio); 
  if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
   
  $thumb = imagecreatetruecolor($anchura,$altura); 
  imagecopyresampled($thumb, $original, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); 
  header( 'Content-Type: image/jpeg' );
 
  if(!imagejpeg($thumb,$nombreimgdest,75)){
    if($thumb)
    imagedestroy($thumb);
    return false;
  }
  else{
  if($thumb) 
  imagedestroy($thumb);
  return true;
  }
  
 
}
 
  session_start();
    //    Script Que copia el archivo temporal subido al servidor en un directorio.
    
    $k=explode(".",$HTTP_POST_FILES['fileUpload']['name']);
    $tamanio=count($k);
    
  //    Definimos Directorio donde se guarda el archivo
    $dir = './fotos/';
    $dir2=$SESSION["login"];
        
    $dir= $dir.$dir2.'/';
    mkdir($dir, 0777);
 
  
  //    Intentamos Subir Archivo
    //    (1) Comprovamos que existe el nombre temporal del archivo
    if (isset($HTTP_POST_FILES['fileUpload']['tmp_name'])) {
        //    (2) - Comprovamos que se trata de un archivo de imágen
        if(strcasecmp($k[$tamanio-1],'JPG')==0 || strcasecmp($k[$tamanio-1],'JPEG')==0) {
            //    (3) Por ultimo se intenta copiar el archivo al servidor.
            $aux=CargarJpeg($HTTP_POST_FILES['fileUpload']['tmp_name']);
                           
                $destimagen=$dir.$HTTP_POST_FILES['fileUpload']['name'];
            if (!RedimensionaImagen($destimagen ,$aux ,600 ,440)){
                $errors= error_get_last();
                echo '<script>parent.resultadoUpload (\'3\', \''.$HTTP_POST_FILES['fileUpload']['name'].'\',\''.$errors['message'].'\');</script>';
            }
            else {
                 $dirmin='./miniaturas/';
        $dirmin=$dirmin.$dir2.'/';
        mkdir($dirmin);
        
        $original=CargarJpeg($dir.$HTTP_POST_FILES['fileUpload']['name']);
        
               
            RedimensionaImagen($dirmin.$HTTP_POST_FILES['fileUpload']['name'], $original,180 ,150);
        imagedestroy($aux);
        imagedestroy($original);
                                    
                 
        echo '<script>parent.resultadoUpload (\'0\', \''.$HTTP_POST_FILES['fileUpload']['name'].'\',\''.$dir2.'\');</script>';
            }
          
        }
        echo '<script>parent.resultadoUpload (\'2\', \''.$HTTP_POST_FILES['fileUpload']['name'].'\',\''.$k[1].'\');</script>';
    }
    echo '<script>parent.resultadoUpload (\'1\', \''.$HTTP_POST_FILES['fileUpload']['name'].'\',\''.$k[1].'\');</script>';
?>
</body>   Espero que vosotros veais el fallo porque sólo se da con algunas imagenes y no sé por qué.
Muchas Gracias por todo.
 
