Estás cometiendo el mismo error que al inicio. Variables que están en el ámbito global del script no pueden ser accesadas directamente dentro de una función. Dentro de la función que has creado tienes esto:
Código PHP:
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $datos[0], $datos[1]);
Sin embargo, $nuevo_ancho y $nuevo_alto han sido declaradas fuera de la función. Podrías pasarlas como parámetros de la función, o hacerlas globales:
Código PHP:
// Función para cambiar el tamaño de una imágen JPG
// (imagen1) y genera una nueva (imagen2)
function thumbjpegXY($imagen1,$anchura, $altura, $imagen2)
{
//echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
$img = imagecreatefromjpeg($imagen1)
or die("No se encuentra la imagen $camino$nombre<br>\n");
// miramos el tamaño de la imagen original...
$datos = getimagesize($imagen1) or die("Problemas al leer $imagen1<br>\n");
// esta será la nueva imagen reescalada
$thumb = imagecreatetruecolor($anchura,$altura);
// con esta función la reescalamos
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $GLOBALS['nuevo_ancho'], $GLOBALS['nuevo_alto'], $datos[0], $datos[1]);
// La salvamos con el nombre y en el lugar que nos interesa.
imagejpeg($thumb,$imagen2);
}
Haber, leéte esto:
http://www.php.net/variables.scope http://www.desarrolloweb.com/articulos/2457.php
Un saludo,