Problemas con GD

Jetrho
11 de Septiembre del 2004
Hola, tengo el siguiente código para generar una miniatura de imagen. Las variables $ruta $alto y $ancho, se pasan por metodo GET:

$cadena=strtok($ruta,"/");
while ($cadena)
{
$archivo=$cadena;
$cadena=strtok("/");
}
$cadena=strtok($archivo,".");
while ($cadena)
{
$ext=$cadena;
$cadena=strtok(".");
}
$ext=strtolower($ext);
if ($ext=="gif")
{
$fuente = imagecreatefromgif($ruta);
Header("Content-type: image/gif");
}
if ($ext=="jpeg" or $ext=="jpg")
{
$fuente = imagecreatefromjpeg($ruta);
Header("Content-type: image/jpeg");
}
if ($ext=="png")
{
$fuente = imagecreatefrompng($ruta);
Header("Content-type: image/png");
}

$dimension=getimagesize($ruta);
$imgAlto=$dimension[1];
$imgAncho=$dimension[0];
if (!$alto)
{
$alto=60;
}
if (!$ancho)
{
$ancho=60;
}
if ($imgAlto>$imgAncho)
{
$cons=$alto/$imgAlto;
}
if ($imgAlto<$imgAncho)
{
$cons=$ancho/$imgAncho;
}
if ($imgAlto==$imgAncho)
{
$cons=$ancho/$imgAlto;
}
$alto=$cons*$imgAlto;
$ancho=$cons*$imgAncho;

$imagen = imagecreatetruecolor($ancho,$alto);

ImageCopyResized($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);
imagejpeg($imagen,"",75);

El problema me surge cuando le paso como variable $ruta un archivo que contenga un espacio en su nombre de archivo. Cuando esto sucede, no muestra la imagen, ni la redimension, es como si
imagecreatefromjpeg/gif/png($ruta); no consiguiera acceder al archivo. ¿Sabeis por que puede ser? muchas gracias.

Dani