Las funciones de imagecreate() y afines de tratamientos de imagenes .. Requieren de que le envies las cabeceras HTTP adecuadas (segun su formato MIME que sea la imagen) si vas a mostrarlas o enviarlas mejor dicho a un navegador ..
Tendiras que usar:
Código PHP:
<?php
header ("Content-type: image/jpg"); // image/jpg . png .. gif .. sería el formato MIME de la imagen ..
// resto de tu PHP
Ademas de eso ... si quieres controlar las imagenes individualmente (porqué así observaras q te salen las imagenes una detras de la otra a continuación .. y si intentas poner algo de "HTML" antes del header() veras que obtienes un error de envio de cabecras ya enviadas . bla bla bla ..) Debes de usar esa parte del código en un script aparte y llamarlo en tus páginas HTML y/o PHP usando:
<img src="script_que_hace_la_imagen.php?imagen=nose"></img>
El parámetro imagen (variable) lo usariamos para acceder al indice del array de archivos que tienes ya generado por el script anterior ..
Repasa el manual de PHP .. apartado de uso de funciones para tratamiento de imagenes:
http://www.php.net/manual/en/function.imagecreate.php
Un saludo,