imagecopyresized($new_img_source, $image, 0, 0, 0, 0, $img_w, $img_h, $new_img_w, $new_img_h);
eso es lo que tienes.... pero tienes al reves los parametros para las dimensiones:
imagecopyresized($new_img_source, $image, 0, 0, 0, 0, $new_img_w, $new_img_h,$img_w, $img_h);
debe ir en ese orden: ancho_nuevo, alto_nuevo,ancho_original,alto_original |