Ese es el asunto, si funcionara el script al menos deberías ver la información binaria de la imagen (muchos caracteres basura), pero si no muestra nada entonces todo está mal.
¿Qué será?
Pues no lo sé, te toca depurar tu script para ver que anda mal.
Lo digo porque es imposible ejecutar tu código mentalmente para averiguar algo.