il codice che hai postato, compresi i commenti, che errori ti da?
sono le parti commentate che non funzionano?

da profano, 2 cose.
1 togli le @ per vedere gli errori.
2 dici che funziona solo con i PNG.
sarà forse per questo
$img = @imagecreatefromjpeg( "{$pathToImages}{$fname}" );
$img = @imagecreatefromgif( "{$pathToImages}{$fname}" );
$img = @imagecreatefrompng( "{$pathToImages}{$fname}" );
che sovrascrivi la variabile $img?