Come ti ha già segnalato telegio, stai sovrascrivendo le variabili e non solo...
Un codice di questo tipo:
Codice PHP:
      $img = @imagecreatefromjpeg"{$pathToImages}{$fname});
      
$img = @imagecreatefromgif"{$pathToImages}{$fname});
      
$img = @imagecreatefrompng"{$pathToImages}{$fname});
...
      
imagejpeg$tmp_img"{$pathToThumbs}{$fname});
      
imagegif$tmp_img"{$pathToThumbs}{$fname});
      
imagepng$tmp_img"{$pathToThumbs}{$fname}); 
non ha alcun senso...

Fai un controllo sul mime type del file immagine, ed esegui, di volta in volta, solo le funzioni della gdlibrary corrispondenti al quel tipo di immagine.