Outre les logiciels classiques cités au dessus, il existe celui ci:
http://www.iseult-soft.com/fr/
Sinon, je n'ai pas vraiment compris ta dernière question.
Pour ton problème, il vaut clairement mieux réduire les photos à l'upload. La librairie GD est en effet gourmande en ressources.
Après, tu peux très bien faire un mix des deux: afficher les miniatures créées dans la partie chat et les images pleine taille dans le profil du membre (je suis pas allé voir ton site mais j'imagine que ça doit fonctionner comme ça).
Enfin, si tu souhaites faire les réductions via un script plutot qu'en local, je ferais quelque chose dans ce goût la :
$dossier = opendir ("./dossierdephotos/");
while ($photos = readdir ($dossier))
{
if ($photos != "." && $photos != "..") // on ignore les réponses ./ et ../
{
//ici ton script pour redimensionner et enregistrer les photos, de preferences dans un nouveau dossier, c'est plus prudent
}
}
closedir ($dossier);
Ce code va lire un par un tous les fichiers contenus dans le dossier que tu auras indiqué à la fonction opendir et ensuite effectuer dessus les opérations que tu souhaites.
Note que si dans le dossier en question tu as autre chose que des photos et que tu ne souhaites travailler que sur un type d'extension, tu peux rajouter une condition au "if" dans le style && (substr($photos, -3)) == 'jpg'). (ceci dit, il y aura peut être des soucis de casse si les fichiers sont en JPG, c'est a voir tiens)
Concernant les dimensions, à toi de voir selon tes besoins. Le tuto du site du zéro explique en effet très bien comment faire.